Hyperledger fabric 在同一组织的多个对等方上使用外部链码?

Hyperledger fabric 在同一组织的多个对等方上使用外部链码?,hyperledger-fabric,hyperledger-chaincode,Hyperledger Fabric,Hyperledger Chaincode,我正在使用Fabric 2.0和外部链码功能。我有一个组织,有两个支持我的同事。我用一个对等点测试了外部链码,它可以工作,但是如何在多个对等点上使用它呢 Fabric docs说:“链码现在可以作为一种服务运行,其生命周期在Fabric之外进行管理,而不是在每个对等机上构建和启动链码”。这是否意味着我只需要一个外部链码容器,而不考虑对等点的数量 我是否也需要在第二个对等机上安装链码?在链码安装过程中,它还提供了我在链码中使用的CCID。但是,如果我在第二个对等机上安装链码,它会给我另一个CCID

我正在使用Fabric 2.0和外部链码功能。我有一个组织,有两个支持我的同事。我用一个对等点测试了外部链码,它可以工作,但是如何在多个对等点上使用它呢

Fabric docs说:“链码现在可以作为一种服务运行,其生命周期在Fabric之外进行管理,而不是在每个对等机上构建和启动链码”。这是否意味着我只需要一个外部链码容器,而不考虑对等点的数量


我是否也需要在第二个对等机上安装链码?在链码安装过程中,它还提供了我在链码中使用的CCID。但是,如果我在第二个对等机上安装链码,它会给我另一个CCID,我不知道如何使用它。

外部构建器可以让您灵活地确定链码的实际构建方式/位置/时间。例如,您可以:

  • 将链码构建为docker容器,将其推送到docker存储库,并在“外部构建器”过程中简单地提取图像
  • 让每个对等方使用本地文件系统中的工具链在本地构建链码二进制文件的副本
  • 构建一个二进制文件并将其作为安装包的一部分推出,然后简单地执行它

无论您的链码是在何处/如何/何时实际生成的,您都需要在每个执行它的对等机上安装一个链码包。您还需要为您的同行配置正确的外部生成器来使用您的包类型。

外部生成器使您能够灵活地确定链码的实际生成方式/位置/时间。例如,您可以:

  • 将链码构建为docker容器,将其推送到docker存储库,并在“外部构建器”过程中简单地提取图像
  • 让每个对等方使用本地文件系统中的工具链在本地构建链码二进制文件的副本
  • 构建一个二进制文件并将其作为安装包的一部分推出,然后简单地执行它

无论您的链码是在何处/如何/何时实际生成的,您都需要在每个执行它的对等机上安装一个链码包。您还需要为您的同行配置正确的外部生成器来使用您的包类型。

在深入阅读HLF链码文档和许多实际实验后,我找到了问题的答案

这是否意味着我只需要一个外部链码容器,而不考虑对等点的数量

您可以将一个外部容器用于相同的链码包(具有相同的CCID)

我是否也需要在第二个对等机上安装链码

是的,您需要在组织的所有背书对等方上安装chaincode包

如果我在第二个对等机上安装链码,它会给我另一个CCID,我不知道如何处理它


如果要为多个组织对等方使用相同的外部链码容器,则必须在这些对等方上安装相同的链码包,而不是为每个对等方创建新包(这是我的失败,我为第二个对等方创建了新包,它生成了不同的CCID).

在深入阅读HLF链码文档和许多实际实验后,我找到了问题的答案

这是否意味着我只需要一个外部链码容器,而不考虑对等点的数量

您可以将一个外部容器用于相同的链码包(具有相同的CCID)

我是否也需要在第二个对等机上安装链码

是的,您需要在组织的所有背书对等方上安装chaincode包

如果我在第二个对等机上安装链码,它会给我另一个CCID,我不知道如何处理它

如果要为多个组织对等方使用相同的外部链码容器,则必须在这些对等方上安装相同的链码包,而不是为每个对等方创建新包(这是我的失败,我为第二个对等方创建了新包,它生成了不同的CCID)