hyperledger-fabric - 我想构建一个 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,但我没有触及端口号)。我认为问题出在端口上……您能帮帮我吗?
解决方案
假设您需要在多个主机上运行两个组织设置,您需要执行以下操作:
- 为 docker swarm 网络开放端口#2377(TCP)、#7946(TCP+UDP) 和#4789(UDP)。
- 从其中一台主机创建 swarm 并使另一台主机加入该 swarm 网络。
- 创建覆盖网络。
- 确保您的 docker-compose 文件用于结构组件(如 orderers、peers、ca、couchdb 和可选的 cli)加入此覆盖网络。这些组件应配置为连接到外部网络。
- 为两个主机上的结构组件启动 docker 容器。
- 在两台主机上运行“docker network inspect”来检查所有容器是否都加入了正确的网络。
最后,您应该已经准备好在多个主机上进行多组织设置。
推荐阅读
- python - 将列表拆分为较小的大小相等的列表,保持“中间值”?
- spring-boot - 是否可以在 Spring Data Rest 中通过关联进行搜索?
- reactjs - 托管在 AWS S3 API 请求上的 React 应用程序失败
- c# - 如何在asp.net的gridview中标记标记为“已确认”的模板字段?
- python-3.x - 使用 Python3 进行网页抓取
- javascript - 如何删除一个在 JS 中使用按钮
- python - 使用 python 将具有不同架构的项目附加到 Avro 中的现有文件
- python - 如何在日志文件中记录串口输入?
- c++ - 了解 C 中的线程以及如何使用它们进行排序
- python - SQLAlchemy:没有名为“mysql”的模块