这是我的deliverydemo source code on github。
我的情况:
我的问题:
根据Joel的建议,我尝试在OrderDeliveredFlow中发送一些请求并从PartyC上的PartyB接收StateAndRef。
不幸的是,似乎JAVA不支持“展开”,但Kotlin却支持。 在添加一小段用于发送和接收Java.String并在可行的流程(令牌发行流程)中取消扭曲后,该流程将引发此错误-"missing parameter name at index 0 {}"。
我认为可能的解决方案是像“ CollectSignaturesFlow”一样在Kotlin中创建新流程。 否则,我必须将Java代码转换成Kotlin。
答案 0 :(得分:1)
C并不知道令牌状态的存在,因此不能自己将它们添加到事务中。
相反,C应该要求B传送她要花费的令牌状态,并将其添加到交易中。
流代码看起来像:
val otherPartySession = initiateFlow(otherParty)
val tokenState = otherPartySession.receive<StateAndRef<Cash.State>>().unwrap { it }
txBuilder.addInputState(tokenState)
答案 1 :(得分:1)
替代乔尔的答案。您可以考虑添加 C 作为令牌状态的参与者。
例如在Kotlin中,其他设置为 C
override val participants: List<AbstractParty> get() = listOf(issuer, owner, other)
然后C 会知道B拥有的令牌的状态。但是,您可以看到,这需要发布者或 B 事先了解 C 。
自然,您采取的所有方式都取决于您的隐私模型。