Как в Corda реализуется консенсус о действительности? - PullRequest
0 голосов
/ 11 сентября 2018

Я пытаюсь понять понятия корда.Я понял, что для того, чтобы транзакция прошла согласование действительности, стороны должны проверять все транзакции конкретной сборки до транзакции выдачи. Описано здесь.

Но как это на самом деле реализовано в коде?Должны ли мы сами писать логику или она управляется самой структурой потока?

1 Ответ

0 голосов
/ 12 сентября 2018

У него есть два основных понятия:

Транзакция принимается контрактами каждого состояния ввода и вывода.

Это вы можете визуализировать следующим образом. Предположим, у вас есть StateA, который обрабатывается ContractA и StateB, который обрабатывается ContractB.
Теперь предположим, что вы создаете транзакцию с помощью CommandA, и в вашей транзакции есть состояния, то есть StateA и StateB.
Чем обязательно, что у вас есть CommandA как в контрактах, так и внутри этой команды вы проверяете транзакцию и ее состояние. Поэтому убедитесь, что каждый контракт со всеми состояниями ввода и вывода принимает транзакцию.

Транзакция имеет все необходимые подписи

Это то, что обрабатывается автоматически почти во всех сценариях. Вы можете использовать подпоток collectSignature, а затем verifyRequiredSignatures, чтобы убедиться, что в транзакции есть все необходимые подписанты. Вы можете найти более подробную информацию по этому адресу: CollectSignaturesFlow и Flow поваренная книга

Ход цепочки транзакций обрабатывается автоматически, когда узел или проверяющий нотариус проверяет транзакцию.

...