我有一个场景,我想向网络发布几个状态,但状态有不同的参与者
示例
val state1 = ExampleState(ALICE, BOB)
val state2 = ExampleState(BOB, CHARLIE)
val command = Command(ExampleCommand.Issue(), ...participants?)
val transaction = TransactionBuilder(NOTARY)
.addOutputState(state1, EXAMPLE_CONTRACT_ID)
.addOutputState(state2, EXAMPLE_CONTRACT_ID)
.addCommand(command)
观察 第一个州需要由ALICE和BOB签署,但第二个州需要由BOB和CHARLIE签署
是否可以执行此类交易;即具有多个州的单一交易,其中每个州可能有不同的参与者?
答案 0 :(得分:1)
是的,你不需要做任何特别的事情。
命令中列出的PublicKeys通常是事务中状态的参与者列表中PublicKeys的子集。
请记住,交易的分发列表将是每个州的所有参与者组合。