Hyperledger Fabric:订购者客户端无法连接到orderer.example.com

时间:2018-07-19 10:36:41

标签: docker docker-compose hyperledger-fabric blockchain

我是Hyperledger Fabric的新手,我正尝试使用Hyperledger Fabric从头创建一个示例区块链网络。为此,我配置了“ crypto-config.yaml”文件,并通过对“ cryptogen”工具运行该文件来生成相应组织的证书。我还通过配置“ configtx.yaml”文件并针对configtxgen工具运行了该文件,从而生成了相应的“通道工件”。然后,我修改了“ docker-compose-cli.yaml”文件和“ docker-compose-base”文件。

现在,为了引导网络,我运行了以下docker命令:

docker-compose -f docker-compose-cli.yaml up 

然后我执行了以下命令:

docker exec -it cli bash
export CHANNEL_NAME=testChannel
peer channel create -o orderer.example.com:7050 -c testChannel -f ./channel-artifacts/testChannel.tx

在执行“对等通道创建”命令时,出现以下错误:

Error: failed to create deliver client: orderer client failed to connect to orderer.example.com:7050: failed to create new connection: context deadline exceeded

我不确定为什么会发生此错误。我在OrdererDefaults中的“地址”部分的配置(在configtx.yaml文件中)是:

Ordertype:
     - solo

Addresses:
     - orderer.example.com:7050

因此,如果我缺少某些内容,请告诉我,以解决“对等渠道创建”问题。

1 个答案:

答案 0 :(得分:0)

执行 docker ps ,查看订购者是否已启动并正在运行 如果没有,则 docker记录orderer.example.com 并检查订购者日志 通常,订购者日志会提供有关发生情况的清晰线索 阅读日志并解决问题。那就是我所做的

而不是先创建一个同级并在其中创建一个通道,我建议您先创建一个通道,然后再将同级加入到该通道中

创建频道

docker exec -e“ CORE_PEER_LOCALMSPID = Org1MSP” -e“ CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/users/Admin@org1.tracexyz.com/msp” peer0.org1.tracexyz.com对等通道创建- o orderer.tracexyz.com:7050 -c奶酪生产-f /etc/hyperledger/configtx/channel.tx

将对等0添加到通道

docker exec -e“ CORE_PEER_LOCALMSPID = Org1MSP” -e“ CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/users/Admin@org1.tracexyz.com/msp” peer0.org1.tracexyz.com对等通道加入- b cheeseproduction.block

从同级1获取

docker exec -e“ CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/users/Admin@org1.tracexyz.com/msp” peer1.org1.tracexyz.com对等通道获取配置-o orderer.tracexyz.com :7050 -c奶酪产量

还将对等1加入频道

docker exec -e“ CORE_PEER_LOCALMSPID = Org1MSP” -e“ CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/users/Admin@org1.tracexyz.com/msp” -e“ CORE_PEER_ADDRESS = peer1.org1.tracexy。 com:7061“ peer0.org1.tracexyz.com对等频道加入-b cheeseproduction.block

这是我将两个对等方连接到单个通道的方式。我的组织名称是 tracexyz (用tracexyz代替example),我的频道名称是 cheeseproduction

我想您可以用自己的值替换这些值

做完这些之后,进入同伴内部

docker exec -it cli bash

它将带您进入默认同位体 peer0.org1

然后创建一个对等频道列表以查看peer0已加入的频道

您会看到它会列出奶酪制作