Corda - транзакции с несколькими состояниями с различными наборами участников - PullRequest
0 голосов
/ 31 мая 2018

У меня есть сценарий, в котором я хочу выдать несколько состояний в сеть, но у состояний есть разные участники

Пример

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

Возможно ли выполнить такой тип транзакции;т.е. одна транзакция с несколькими состояниями, где в каждом состоянии могут быть разные участники?

1 Ответ

0 голосов
/ 31 мая 2018

Да, вам не нужно делать ничего особенного.

  • Команды указывают PublicKeys, которым нужно подписать.
  • Участники состояний определяют список рассылки для состояний.

PublicKeys, перечисленные в командахобычно подмножество PublicKeys в списках участников состояний в транзакции.

Помните, что список рассылки для транзакции будет объединением всех наборов участников в каждом состоянии.

...