包装链码

时间:2019-06-04 12:13:29

标签: hyperledger-fabric hyperledger hyperledger-chaincode

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

1 个答案:

答案 0 :(得分:2)

从我遇到的任何事情(使用Go链码):

1)否。如果没有源代码,则无法直接安装链码二进制文件。因此,您不能分发链码二进制或jar。

2)打包将无法帮助您隐藏源代码。即使在一个身份签名并打包了链码之后,其他人也应该能够查看其签名并将其签名添加到此已签名的软件包中。这用于建立链码的“所有者”,并确保链码的所有必要“所有者”均已按照链码实例化策略中的定义对其进行签名。

从文档中: 参考: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.