合同可以在其cordapp之外运行自定义功能吗?

时间:2018-06-12 11:32:56

标签: corda

有一个Utility cordapp包含所有帮助常量/方法。 Contract cordapp依赖于Utilities,其部分合约代码正在运行Utility cordapp中的常量或方法。

这是安全的做法吗?如果有人要在Utility中更改帮助方法的实现,它会在响应方面失败,因为它们具有原始Utility cordapp implmentation?

1 个答案:

答案 0 :(得分:1)

在Corda endstate:

  • 合约JAR将是胖JAR,它不仅包含Contract个子类,还包含这些Contract子类的任何依赖项(即从这些合同中引用的任何类)
  • 确定性JVM将被沙箱化为仅从这些合同JAR中加载类

由于合约JAR在交易中被哈希固定,因此您知道双方都使用完全相同的任何类版本。

从Corda 3开始,此功能未实现。一旦它,你上面讨论的设计模式将是安全的。