Может ли контракт запустить пользовательскую функцию за пределами своего приложения? - PullRequest
0 голосов
/ 12 июня 2018

Есть Utility cordapp, который содержит все вспомогательные константы / методы.Contract cordapp имеет зависимость от Utilities, и в некоторых его контрактных кодах используются константы или методы в Utility cordapp.

Это безопасная практика?Если бы кто-то изменил реализацию вспомогательного метода в Utility, он потерпел бы неудачу на стороне респондента, так как у него есть исходная Utility реализация appappord?

1 Ответ

0 голосов
/ 12 июня 2018

В конечном состоянии Corda:

  • Контрактные JAR будут жирными JAR, которые содержат не только Contract подклассы, но также и любые зависимости этих Contract подклассов (то есть любые классы, на которые ссылаются эти контракты)
  • Детерминированная JVM будет помещена в «песочницу», чтобы загружать только классы из этих JAR-контрактов

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

Начиная с Corda 3, эта функциональность не реализована.Как только это произойдет, шаблон проектирования, который вы обсуждали выше, будет в безопасности.

...