首页 > 解决方案 > 我想构建一个 Hyperledger Fabric 网络,在多个组织的多个主机上运行

问题描述

我在关注 Abdul Wahab 的教程:Hyperledger Fabric on Multiple Hosts here。他有一个组织和两个同行。

这一切对我来说都很好,直到我尝试创建两个组织,每个组织都有 1 个对等点。我更改了 crypto-config.yaml、configtx.yaml 和 bmhn.sh,我很确定它们是正确的(在 configtx.yaml 中,我添加了带有锚点 peer0 和端口 7051 的 org2。在 script.sh 中,我添加了 CORE_PEER_ADDRESS= peer0.org2.example.com:7051)。端口有问题吗?我应该更改他提供的命令中的某些内容吗?(例如在6. Peer1中,我在必要时将org1更改为org2,但我没有触及端口号)。我认为问题出在端口上……您能帮帮我吗?

标签: hyperledger-fabricdocker-swarm

解决方案


假设您需要在多个主机上运行两个组织设置,您需要执行以下操作:

  1. 为 docker swarm 网络开放端口#2377(TCP)、#7946(TCP+UDP) 和#4789(UDP)。
  2. 从其中一台主机创建 swarm 并使另一台主机加入该 swarm 网络。
  3. 创建覆盖网络。
  4. 确保您的 docker-compose 文件用于结构组件(如 orderers、peers、ca、couchdb 和可选的 cli)加入此覆盖网络。这些组件应配置为连接到外部网络。
  5. 为两个主机上的结构组件启动 docker 容器。
  6. 在两台主机上运行“docker network inspect”来检查所有容器是否都加入了正确的网络。

最后,您应该已经准备好在多个主机上进行多组织设置。


推荐阅读