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

В настоящее время я пытаюсь создать CordApp, который будет использоваться для DVP, но у меня возникают проблемы с пониманием некоторых ключевых концепций. Например, я понимаю, что Контракты применяются в частности к одному типу государства. На самом деле я не понимаю, должна ли логика проверки контракта применяться только к этому объекту состояния или ко всем состояниям, которые будут в данной транзакции. Типичным примером будет выдача ордера на продажу: Входными данными транзакции являются состояние счета акций эмитента, а выходами - ордер на продажу и модифицированный счет акций. По сути, мой вопрос: где я делаю чеки: я не продаю больше, чем имею, сумма количества акций в ордере на продажу и того, что осталось на счете, равна тому, что было первоначально на счете,. ..?

Я следовал учебным пособиям по Corda, но я до сих пор не понимаю эту логику.

1 Ответ

0 голосов
/ 22 января 2019

Это сводится к уровню оркестровки (потоки или API, что пользователь намеревается сделать) по сравнению с уровнем Леджера (что пользователь может делать. IE - гарантированная общая логика).

Код контракта обязательно должен соблюдаться, поэтому в вашем случае невозможность продать больше, чем вы, была бы частью явного контракта.

Руководство CMN здесь помогли мне осмыслить.

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

С точки зрения безопасности: любой может создать поток, и он в равной степени может использовать любой актив (и, следовательно, его состояние) в своем стороннем потоке.Это соответствующий контракт, который гарантирует, что ваш актив используется для той цели, которую вы себе представляете, и что он не используется злонамеренно.

...