Когда проверять содержание предложения по сделке в корде? - PullRequest
0 голосов
/ 30 января 2020

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

Ответы [ 2 ]

1 голос
/ 30 января 2020

Дэн Ньютон написал отличный пост о том, как подойти к респондентам потока, в котором показано, какие проверки можно сделать: https://lankydan.dev/responder-flow-validation

1 голос
/ 30 января 2020

Что они имели в виду, когда вы получаете запрос на подпись транзакции (т.е. вы являетесь узлом, на котором выполняется поток ответчика); Вы не должны просто слепо подписывать. Я понимаю, что этот процесс "автоматизирован c", но вашей автоматической подписи c должна предшествовать проверка некоторых бизнес-правил.

Например, в cordapp-example репозитория сэмплов; ответчик не сразу подписывает; вместо этого сначала проверяется, что полученная транзакция производит вывод ожидаемого типа (т.е. IOU); в противном случае, например, кто-то может отправить вам транзакцию с другим состоянием типа Ca sh, где вы являетесь предыдущим владельцем, а они новым владельцем, поэтому, если вы подпишетесь без проверки типа состояния; это как если бы вы дали им деньги!

Затем респондент проверяет, что сумма IOU не превышает определенный лимит; таким образом, даже если инициатор выполнил все необходимые проверки, чтобы получить долговую расписку от вас, это не значит, что вы собираетесь утверждать какую-либо сумму; это означает, что вы - Банк, и кто-то дал вам всю документацию для получения одобрения займа, но это не значит, что вы собираетесь дать им любую сумму, которую они запрашивают (например, 10 миллионов долларов).

См. Код здесь: https://github.com/corda/samples/blob/018502310b56bc1bb31440380af4b89e9bbd7ed8/cordapp-example/workflows-kotlin/src/main/kotlin/com/example/flow/ExampleFlow.kt#L105

...