代码之家  ›  专栏  ›  技术社区  ›  Matthew Layton

CORDA-具有不同参与者集的多状态事务

  •  1
  • Matthew Layton  · 技术社区  · 6 年前

    我有一个场景,我想向网络发布几个状态,但是这些状态有不同的参与者

    例子

    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)
    

    观察 第一个州需要爱丽丝和鲍勃签名,第二个州需要鲍勃和查理签名

    是否可以执行这种事务,即一个具有多个状态的事务,其中每个状态可能有不同的参与者?

    1 回复  |  直到 6 年前
        1
  •  2
  •   Roger Willis    6 年前

    是的,你不应该做什么特别的事。

    • 命令指定需要签名的人的公钥。
    • 状态参与者指定状态的通讯组列表。

    命令中列出的公钥通常是事务中状态的参与者列表中公钥的子集。

    请记住,事务的分发列表将是每个州所有参与者集合的联合。