从 NodeJS 获取链码

Getting Chaincode from NodeJS

在以太坊上,通过在 EtherScan 上检查交易,您可以看到用于该交易的 public 链码。

我想查看用于交易的链码,或者检索通道上实例化的当前链码。 是否可以从 SDK 中检索 Hyperledger 合约的代码并通过 API return?

以太坊是一个 public 区块链平台。另一方面,Hyperledger Fabric 是一个私有和许可的区块链平台。

在以太坊的情况下,能够看到用于交易的 public 智能合约是有意义的,但相同的概念不适用于 Hyperledger Fabric。链代码(智能合约)是一段代码,通过 SDK 或 CLI 安装并实例化到 Hyperledger Fabric 对等节点网络上,从而实现与该网络共享账本的交互。

您可以通过 SDK 或 CLI 调用您可用的链码 API,如查询、调用、获取密钥的历史记录等,但您无法获取链码的完整代码。

试着这样理解。在传统应用程序中,您有后端服务和前端服务,它们可能 运行 在相同或不同的服务器上。前端通常可以通过 Rest API 的方式与您的后端服务进行交互,但是后端服务是否允许您查看它的整个代码库?从来没有。

同样的概念也适用于此。尽管链代码包由每个参与的组织成员签名,这样做是为了保持网络的透明度。

此外,我认为在任何情况下,能够从 SDK 或 CLI 查看链代码都不会变得至关重要。对链码代码库的访问应该受到限制,相关组织的授权成员始终可以访问它。