Контракты Corda и недетерминированные правила контракта - PullRequest
0 голосов
/ 12 декабря 2018

Контрактные команды в Корде должны быть проверены детерминистическим способом.Почему тогда можно проверить следующие выражения?

LocalDateTime.MAX >= LocalDateTime.now() // true - LocalDateTime.MAX is a long time away!

UUID.randomUUID().toString().contains("4") // true - all v4 UUIDs contain a "4"

Я ожидал, что что-то пойдет не так с командой контракта, так как LocalDateTime.now() и UUID.randomUUID() не дают детерминированных результатов.

Почему можно проверить эти выражения в команде контракта, если они не дают детерминированных значений?

1 Ответ

0 голосов
/ 12 декабря 2018

Я не думаю, что у Корды уже есть DJVM.Таким образом, вы можете написать такой код, но не должны, так как он не является детерминированным.На данный момент это скорее правило «писать детерминированный код», а не правило, когда код будет выдавать ошибки, если это не так.

...