Hyperledger fabric 为什么Hyperledger Fabric通过编译源代码而不是二进制代码来安装链码?

Hyperledger fabric 为什么Hyperledger Fabric通过编译源代码而不是二进制代码来安装链码?,hyperledger-fabric,hyperledger,Hyperledger Fabric,Hyperledger,Hyperledger Fabric使用包含压缩源代码的chaincode包在多个对等机上安装chaincode,并在chaincode实例化过程启动的ccenv docker容器中编译。我想知道为什么它不直接在容器中为那些对等机安装二进制文件。有什么特殊用途吗?谢谢。在ccenv容器中编译链码可以确保网络中所有参与者的结果都是相同的,否则可能会由于编译器版本、可用依赖项等的差异而导致问题和差异。这对于跨平台编译也是必要的。我认为原因是,所有参与的同行都需要就代码达成协议(智能合约),如果使用二

Hyperledger Fabric使用包含压缩源代码的chaincode包在多个对等机上安装chaincode,并在chaincode实例化过程启动的ccenv docker容器中编译。我想知道为什么它不直接在容器中为那些对等机安装二进制文件。有什么特殊用途吗?谢谢。

ccenv
容器中编译链码可以确保网络中所有参与者的结果都是相同的,否则可能会由于编译器版本、可用依赖项等的差异而导致问题和差异。这对于跨平台编译也是必要的。

我认为原因是,所有参与的同行都需要就代码达成协议(智能合约),如果使用二进制代码,则更难检查代码的功能。在对等方签署链码安装方案之前,它假定要检查内容

谢谢你,阿特姆·巴格。我理解汇编将确保所有参与者的结果都是一样的。但它也可以通过在ccenv docker容器中安装相同的二进制链码来实现,该容器与这些对等方的运行时环境相同。那么,为什么编译源代码比安装相同的二进制代码更好呢?@R.L显然,编译更稳定、更一致。安装将需要可能波动的网络。