Hyperledger fabric 链码实例化:从ip:端口读取时出错;rpc错误:代码=已取消描述=上下文已取消。没有码头工人

Hyperledger fabric 链码实例化:从ip:端口读取时出错;rpc错误:代码=已取消描述=上下文已取消。没有码头工人,hyperledger-fabric,hyperledger,Hyperledger Fabric,Hyperledger,我有一个hyperledger结构网络,一个订购者和一个对等者,订购者组织中的订购者(OrderOrg)和对等组织中的对等者(Org1)。我可以启动订购方和对等方,创建一个通道,对等方可以加入该通道 接下来,我可以在对等节点上安装链码。然而,当我尝试实例化链码时,在订购者终端上我收到警告消息 2019-04-25 16:48:08.203 EDT[order.common.broadcast]句柄->警告01a读取127.0.0.1:33340时出错:rpc错误:代码=取消描述=上下文取消 在对

我有一个hyperledger结构网络,一个订购者和一个对等者,订购者组织中的订购者(OrderOrg)和对等组织中的对等者(Org1)。我可以启动订购方和对等方,创建一个通道,对等方可以加入该通道

接下来,我可以在对等节点上安装链码。然而,当我尝试实例化链码时,在订购者终端上我收到警告消息

2019-04-25 16:48:08.203 EDT[order.common.broadcast]句柄->警告01a读取127.0.0.1:33340时出错:rpc错误:代码=取消描述=上下文取消

在对等终端和执行终端上,没有错误消息,表明命令运行成功

实例化
可以下载链码的docker容器

我可以通过运行docker image ls查看docker图像,它显示两个docker图像

myfn-peer1-mycc-1.0-6ec0d4e71b402887d447e77b3b23b0ab860673e40ec5750a912a2faffe0158cf

hyperledger/fabric javaenv

下一步,当我试图查询链码时,我得到一个错误,说没有找到链码

peer chaincode query -C $CHANNEL_NAME -n mycc -c '{"Args":["query","a"]}'
错误:查询过程中背书失败。响应:状态:500消息:“确保已成功实例化链码mycc,然后重试:未找到链码mycc”


我不确定遗漏了什么,我已经检查了配置和环境变量,似乎都是正确的。

我想,您的对等方能够创建实例化事务并将其发送给订购方。另一方面,订购方创建一个块并将其发送给对等方。但是,对等方无法获取块并将其存储在分类账中,在这种情况下,您将能够一次又一次地实例化链码。如果您尝试查询,您将得到

错误:查询过程中背书失败。响应:状态:500消息:“确保已成功实例化链码mycc,然后重试:未找到链码mycc”

然而,在他的回答中提到的Artem Barger中,您不需要将ordering服务端点设置为
orderer.7050

该问题的解决方案是,订购方使用gossip协议将块发送给其对等方。确保在配置中正确设置了gossip协议(
core.peer.gossip

这应该可以解决问题

peer:
    gossip:
        bootstrap: 127.0.0.1:7051
        externalEndpoint: 127.0.0.1:7051
        useLeaderElection: true
        orgLeader: false