为链代码获取不同的包 ID - Hyperledger Fabric 2.2.0

Getting different package ID for a chaincode - Hyperledger Fabric 2.2.0

我在使用 baf 部署的 kubernetes 集群中有一个 hyperledger fabric 网络 (v2.2.0) 运行。最初网络有 5 个组织(Org1、Org2、Org3、Org4 和 Org5),后来我尝试使用 baf 脚本将一个组织(Org6)加入网络。由于使用 baf 脚本没有成功将 org 添加到频道,我已经使用 configtxlator 工具手动将 org6 加入网络。

现在在安装 Chaincode 的过程中,我遇到了一个问题。测试了 fabcar 链码(来自 github repo - fabric-samples-2.0.0-beta),此链码安装导致网络中所有 6 个组织的包 ID 相同。但是,当我尝试部署自己的链码时,新添加的第 6 个组织获得了不同的包 ID,其余 5 个组织获得了不同的包 ID。谁能解释一下这是什么原因?

我需要引用一个声明,我正在使用我在 hyperledger fabric 1.4.2 中使用的链代码。为 fabric v1.4.x 编写的链代码是否适用于 fabric v.2.2.0?我还使用对等生命周期链代码命令来部署链代码。

获得不同的包 ID 并非不可能,因为它们是链码包的哈希值。使用相同的代码和相同的对等版本,您将获得相同的 ID 这是真的。

如果据您所知,链代码包完全相同并且对等方的版本完全相同 - 值得仔细检查代码是否正确。

但是,允许使用不同的包 ID。当您与同行交谈时使用它说“我刚刚使用 ID:xxx 安装的链码,请批准,然后提交”