Каков наилучший способ для контрагента обновить одно из состояний ввода для транзакции? - PullRequest
0 голосов
/ 01 мая 2019

У меня есть бизнес-требование, когда контрагенту необходимо обновить одно из состояний ввода транзакции, прежде чем транзакция может быть зафиксирована в регистре.

Один из способов, которым я думал, что это может быть достигнуто, - это вносить изменения в состояние на стороне участника, когда он отвечает на вызов сбора подписи.У меня два вопроса

  1. Допускаются ли изменения состояния во время сбора подписей?
  2. Это лучший способ добиться этого или есть лучшие альтернативы?

1 Ответ

1 голос
/ 02 июня 2019

Несколько вещей, которые необходимо учитывать

  • Состояния ввода для транзакции - это неизрасходованные состояния вывода из предыдущих транзакций (UTXO)
  • Чтобы обновить состояние вывода, вам необходимо добавитьэто как входные данные в новой транзакции, создайте обновленную версию этого состояния и добавьте в качестве выходных данных для транзакции
  • Если вам требуется, чтобы контрагент внес изменения в это состояние, вы можете использовать поток дляотправьте им состояние, они внесут изменения, а затем отправили его обратно для добавления в транзакцию.Но обратите внимание, что это будет добавлено в качестве вывода
  • Изменения состояния не допускаются во время сбора подписей, так как инициатор транзакции уже подписал инициатор, что делает его неизменным
...