Hyperledger Fabric - 多主机网络 - Docker Swarm

Hyperledger Fabric - Multi Host Network - Docker Swarm

我安装了 Hyperledger Fabric,我正在尝试通过 docker 群将我的链代码分发到两个不同主机(正好是两台 Ubuntu 16.04 机器)上的两个对等节点上。我发现 link 解释了如何执行此操作,但我无法让它工作 (https://medium.com/@wahabjawed/hyperledger-fabric-on-multiple-hosts-a33b08ef24f)。我特意将 Build-Multi-Host-Network 文件夹放在 fabric-samples 文件夹中,并在终端 运行 命令 ./bmhn.sh 但它给了我以下错误:

FATA 001 Missing channelID, please specify it with '-channelID'
Failed to generate orderer genesis block ...

谁能告诉我怎么解决? 我还在错误行的 ./bmhn.sh 代码中指定了 -channelID,但没有指定。谢谢

本教程运行针对旧版本的 Hyperledger Fabric。您可以使用 Fabric v1.4.1。 使用此命令下载二进制和 docker 图像。

curl -sSL https://raw.githubusercontent.com/hyperledger/fabric/master/scripts/bootstrap.sh | bash -s -- 1.4.1 1.4.1

之后,当启动网络组件(peer、orderer、..)时,您必须指定 docker 图像的版本。 运行 CA 的示例,您使用图像 hyperledger/fabric-ca:1.4.1:

docker run --rm -it --network="my-net" --name ca.example.com -p 7054:7054 -e FABRIC_CA_HOME=/etc/hyperledger/fabric-ca-server -e FABRIC_CA_SERVER_CA_NAME=ca.example.com -e FABRIC_CA_SERVER_CA_CERTFILE=/etc/hyperledger/fabric-ca-server-config/ca.org1.example.com-cert.pem -e FABRIC_CA_SERVER_CA_KEYFILE=/etc/hyperledger/fabric-ca-server-config/{put the name of secret key} -v $(pwd)/crypto-config/peerOrganizations/org1.example.com/ca/:/etc/hyperledger/fabric-ca-server-config -e CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=hyp-net hyperledger/fabric-ca:1.4.1 sh -c 'fabric-ca-server start -b admin:adminpw -d'

您的网络 return 错误,因为: 在较新的版本中,您必须在生成创世块配置时指定系统通道的名称。示例:

configtxgen -profile TwoOrgsOrdererGenesis -channelID system-channel -outputBlock ./system-genesis-block/genesis.block