无法在对等体上实例化链码,由对等体重置连接

问题描述 投票:0回答:1

我正在尝试使用Hyperledger Fabric。我设法从示例中运行“构建您的第一个网络”教程,并且我也遵循了“编写您的第一个应用程序”教程,这也很有用。

下一步,我想从头开始或多或少地创建自己的网络,方法是调整样本中的.yaml文件并手动运行cryptogen和configtxgen。我设法建立了一个由三个组织组成的网络,每个组织有两个对等点和一个独立订购服务。我现在想在其中一个对等端安装一些基本的链代码,但是我被卡住了,因为我得到了一些奇怪的错误:

2018-03-01 22:27:30.525 UTC [grpc] Printf -> DEBU 003 transport: http2Client.notifyError got notified that the client transport was broken read tcp 172.20.0.9:45178->172.20.0.3:7050: read: connection reset by peer.
Error: Error getting broadcast client: Error connecting to orderer.rle.de:7050 due to rpc error: code = Internal desc = transport: write tcp 172.20.0.9:45178->172.20.0.3:7050: write: broken pipe
2018-03-01 22:27:30.525 UTC [grpc] Printf -> DEBU 004 grpc: addrConn.resetTransport failed to create client transport: connection error: desc = "transport: Error while dialing dial tcp: lookup orderer.rle.de on 127.0.0.11:53: dial udp 127.0.0.11:53: operation was canceled"; Reconnecting to {orderer.rle.de:7050 <nil>}
2018-03-01 22:27:30.525 UTC [grpc] Printf -> DEBU 005 grpc: addrConn.transportMonitor exits due to: grpc: the connection is closing

之后,我获得了peer chaincode instantiate的使用信息

如果您能够提供有关可能导致此错误的原因的任何见解,我将非常感激。我甚至不知道它是由网络配置还是链码本身引起的(我不这么认为,因为我尝试了两种不同的链码,其中一种是样本中的“sacc”)但是安装了chaincode似乎有效。我的问题是我不知道自己在做什么,所以在谷歌搜索和讨论同行链代码实例化的论点之后,我完全没有想法。

我的命令(我从.sh文件运行它)是:

peer chaincode instantiate -o orderer.rle.de:7050 -C driverlogschannel -n test -v 1.0 -c '{"Args":["John","0"]}' -P "OR ('rleMSP.member')"

链代码取自通过安装的sacc示例

peer chaincode install -n test -v 1.0 -p sacc

非常感谢!如果您需要更多日志或其他信息,我可以提供。

go hyperledger-fabric hyperledger
1个回答
0
投票

解决了它。这个问题与我没有提交咖啡馆的事实有关。基本上,我所做的是回到this tutorial并再次尝试使用他们的链码:

peer chaincode install -n mycc -v 1.0 -p github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02

但我把它调整到了

peer chaincode install -n mycc -v 1.0 -p chaincode_example02

(我将fabric-samples / chaincode /中的chaincode_example02.go文件放入我的$ GOPATH / src / chaincode_example02文件夹中,并通过将此行添加到cli - >卷来调整我的docker-compose-cli.yaml)

- $GOPATH/src/chaincode_example02:/opt/gopath/src/chaincode_example02

那么,关键点:

peer chaincode instantiate -o orderer.example.com:7050 --tls $CORE_PEER_TLS_ENABLED --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C $CHANNEL_NAME -n mycc -v 1.0 -c '{"Args":["init","a", "100", "b","200"]}' -P "OR ('Org1MSP.member','Org2MSP.member')"

虽然我再次调整此行以使其与我的文件夹结构相匹配(为我的域名交换example.com等等。)

这解决了这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.