打包链码

Packaging chaincode

我在开发阶段建立了一个有四个节点的超级账本结构网络,我想知道是否有办法在不公开源代码的情况下将 nodejs 链代码(用于安装)提供给生产团队(链代码),类似于 java 项目中的 jar 文件。 打包链代码对我有帮助吗? 如果没有,打包链码有什么用,我们可以直接安装链码而不打包。

无论我遇到什么(使用 Go 链代码):

1) 不可以。链码二进制文件没有源代码不能直接安装。因此,您不能循环链代码二进制文件或 jar。

2) 打包不会帮你隐藏源代码。即使在一个身份对链代码进行签名和打包之后,其他人也应该能够查看并将他们的签名添加到这个已经签名的包中。这用于建立链代码的 'owners' 并确保链代码的所有必要 'owners' 已按照链代码实例化策略中的定义对其进行签名。

来自文档: 参考:https://hyperledger-fabric.readthedocs.io/en/release-1.4/chaincode4noah.html#packaging

一个包裹包括:

a) ChaincodeDeploymentSpec or CDS
b) Instantiation policy
c) Signatures

签名有以下用途:

a) To establish an ownership of the chaincode.
b) To allow verification of the contents of the package.
c) To allow detection of package tampering.

因此,在我看来,包装有助于:

a) Identifying the owners of the chaincode (through signatures).
b) Allowing instantiation of chaincode only when the package has necessary signatures as defined in instantiation policy. This ensures all chaincode owners have reviewed and signed the package.