在网络上部署Corda节点时,哪些JAR必须完全相同?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在网络上部署Corda节点时,哪些JAR必须完全相同?相关的知识,希望对你有一定的参考价值。

有关Corda部署的几个问题:

  1. 在部署时,所有Corda节点中的所有JAR文件都必须完全相同 - 相同的构建,相同的版本,相同的哈希等。这是否意味着所有各方必须事先就同一代码群达成一致?
  2. 如何实现自己节点的逻辑变体?是否可以仅共享包含流的接口的JAR并具有不同的JAR用于实现?我们可以根据需要将JAR放入插件目录而不与其他节点同步吗?
  3. 首次部署和后续代码(JAR)更新如何为单个节点工作?请解释典型的部署步骤。

我已经阅读了文档,但仍然不太清楚现实世界的生产部署方案。

答案

对于1.和2:见https://docs.corda.net/writing-a-cordapp.html#structure。包含州和合同代码的JAR在参与者之间必须相同,因为每个人必须就分类帐上达成的协议以及给定的分类帐更新是否有效达成共识。但是,流逻辑可以跨节点变化。因此,CorDapps应该分成几个JAR - 一些将在节点之间共享和相同(合同和状态定义),一些将是不同的(流程定义,可能是其他支持类)

对于3:以下是有关节点部署的说明:https://docs.corda.net/deploying-a-node.html

以上是关于在网络上部署Corda节点时,哪些JAR必须完全相同?的主要内容,如果未能解决你的问题,请参考以下文章

在corda上更换网络地图和公证人时出错

Corda Network-Map 已启动并运行,但 Notary 不在白名单中

将部署升级到 corda 版本 3.1-corda

如何为在 docker 容器内运行的 corda 节点运行迁移脚本?

在 Corda 中使用 TestContainers 进行 API 测试

查看JAR文件的内容