【发布时间】:2020-06-02 23:21:24
【问题描述】:
我们正在使用 Kotlin 在 Corda 处理令牌和帐户。我将详细说明该场景以进行澄清。 我们有一个 node1 和一个 node2。 我们创建了一个从 TokenType 扩展而来的“OurTokenType”。 我们在 node1 上创建了两个账户(卖家和买家)并与 node2 共享。 根据应用程序的业务规则,node2 是发行代币(FungibleToken)的人,并且发行正常。最后,node1 和 node2 可以访问 FungibleStates 以进行发行交易。 我们的问题在于这些代币的转移。当我们尝试将代币从账户卖家转移给买家时。 在我们的场景中,令牌的转移可以发生在节点 1 或节点 2 上。 当我们通过作为账户主机的 node1 进行转账时,我们可以使用有效的 MoveFungibleTokensFlow 类,并将 node1 上的 FungibleStates 更新为正确的值。但是,当我们在observerSessions 参数中添加node2 作为观察者时,node2 上的FungibleStates 没有正确更新。 而当我们通过不是账户主机的node2进行转账时,使用MoveFungibleTokensFlow类,它不起作用,它会生成一个com.r3.corda.lib.tokens.selection.InsufficientBalanceException: Insufficient spendable的异常已识别的状态,即使是平衡的。
我的问题是,我可以使用 MoveFungibleTokensFlow 类在帐户之间转移,即使它们在另一台主机上? 而当我们在托管账户的节点上运行时,在使用observerSessions 时更新FungibleStates 的问题是什么? 或者如果我必须按照链接https://github.com/corda/samples-kotlin/tree/master/Accounts/worldcupticketbooking 的示例进行操作?
【问题讨论】:
标签: corda