我们应该按每个cordapp拆分每个州/合同吗?

时间:2018-02-26 09:42:01

标签: corda

考虑到合同升级,将每个州和合同拆分为自己的cordapp /模块是否更好,以便在部署时存在于自己的jar中?

因此,在升级期间,我们只能升级受影响的状态 - 而不是在一个shared-cordapp中具有N个状态,并且当仅升级一个状态时,我们也必须升级所有其他状态。

1 个答案:

答案 0 :(得分:0)

假设您最初在节点上部署以下CorDapp:

  • CorDapp 1 ,包含OldState1OldState2OldContract1OldContract2
  • CorDapp 2 ,包含OldState3OldState4OldContract3OldContract4

运行节点一段时间后,您需要将OldState1升级到NewState1,将OldContract1升级到NewContract1

为此,您需要创建一个包含NewState1NewContract1的新CorDapp JAR,并在您的节点上进行部署。然后,您可以启动升级过程,使用OldState1OldContract1实例转换为使用NewState1的{​​{1}}个实例。

换句话说,虽然您的原始CorDapp包含两个州和两个合同,但包含升级的CorDapp只需要包含一个州和一个合同。因此,如您所述,将每个合同和州分成其自己的CorDapp是没有优势的。