Corda是否有任何受支持的方式将CordApp的更改推广到所有具有较旧版本的节点?或者我将如何分发新的CordApp?
理想情况下,无需所有人(每个受影响的节点所有者)都可以做任何事情。
现在,这将意味着更新gradle,重建和重新启动节点中的依赖项,当我的节点属于许多业务网络的一部分时,这是非常不便的。
是否有任何计划类似于Web服务器,例如tomcat,可以在其中部署war文件?
答案 0 :(得分:0)
首先,并非不需要运行deployNodes
来创建新的CorDapp JAR。相反,您可以使用Gradle jar
命令:
./gradlew jar
gradlew.bat jar
这将在build/libs
下创建新的CorDapp JAR。然后,通过将新的CorDapp JAR添加到将使用新的CorDapp的每个节点的cordapps
文件夹中,来安装新的CorDapp。
从Corda 3开始,要拾取新的CorDapp,必须重新启动该节点(将来,我们希望Corda支持CorDapps的热重装)。这里有几个注意事项:
如果要升级一个或多个现有流程:
如果要升级一个或多个现有状态或合同:
IOUState
和IOUStateV2
)如果您对CorDapp的合同使用区域约束,则需要更新兼容区域的网络参数