如何使用Tokens SDK和Accounts功能为Corda节点Issuer账户增发代币
Corda Fungible Token 增发实现方案
Corda Token SDK未提供单独的「增发」专用OOB类,因为增发和首次发行代币的底层逻辑完全一致,只需要重新调用发行流程生成新的同类型代币即可,操作不受Issuer账户当前余额为0的影响。
具体操作步骤
- 第一步:构造与首次发行参数完全一致的
TokenType实例,确保代币标识、小数位数、发行方公钥等核心参数匹配,避免生成不兼容的异质代币:
// 示例:保留2位小数的MY_CUSTOM_TOKEN,issuerParty为Issuer账户所属节点的身份 val myCustomToken = TokenType("MY_CUSTOM_TOKEN", 2, issuerParty)
- 第二步:构造待增发的代币状态,指定归属方为Issuer账户:
// 示例:增发2000个MY_CUSTOM_TOKEN,金额计算需匹配设置的小数位数 val issueAmount = Amount(2000 * 100, myCustomToken) val newIssuedToken = FungibleToken(issueAmount, issuerAccount, Instant.now(), null)
- 第三步:调用SDK内置的
IssueTokensFlow完成发行流程,与首次发行的调用逻辑完全相同:
// 传入待发行的代币列表与参与方会话列表(同节点内发行时参与方列表可为空) subFlow(IssueTokensFlow(listOf(newIssuedToken), emptyList()))
补充说明:如果你的自定义代币设置了发行总量上限、多签校验等规则,需要在对应Token Contract的
verify方法中补充适配增发场景的校验逻辑,避免不符合规则的发行操作生效。
内容的提问来源于stack exchange,提问作者RaviTejaLanka
相关产品推荐
相关产品推荐

