![](/img/trans.png)
[英]Hyperledger Fabric Invoke Java Chaincode(as a external service) timeout
[英]Failed to invoke chaincode in hyperledger fabric
我正在學習如何使用Hyperledger架構和Chaincode。 基本上,我遵循此鏈接在Hyperledger架構中創建Java鏈代碼,但無法在cli / channel中調用鏈代碼。
我使用BYFN.sh
Fabric官方指南中的BYFN.sh建立了Fabric網絡,並跟隨博客制作了Gradle&Java Chaincode。
在我嘗試用
peer chaincode invoke -o orderer.example.com:7050 --tls true --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 --peerAddresses peer0.org1.example.com:7051 --tlsRootCertFiles /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt --peerAddresses peer0.org2.example.com:7051 --tlsRootCertFiles /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt -c '{"Args":["createWallet","tom","100"]}'
我收到此錯誤:
錯誤:獲取代言人客戶端進行調用時出錯:代言人客戶端無法連接到peer0.org2.example.com:7051:創建新連接失敗:連接錯誤:desc =“傳輸:撥號時出錯:撥打tcp 172.21.0.4:7051 :連接:連接被拒絕”
如果有人可以指出一個方向並告訴我什么可能是錯誤的,這將非常有幫助。 我試圖用Google搜索它,但是找不到任何有用的信息。
更新:
原來是端口號問題。 我進入對等方的容器之一,結果發現端口號是9051,而不是7051。因此,我在chaincode invoke命令中更改了端口號,一切正常。
您可以在https://www.chaincoder.org上查看免費工具Chaincoder,這對於初學者來說是一個不錯的開始。 它使用標准CLI來在IDE中用於結構網絡,鏈碼,通道...。
您在命令中為peer0.0rg1.example.com和peer0.0rg2.example.com指定了相同的端口號。 如果您使用byfn拓撲創建了網絡,則peer0.org2會偵聽端口9051。此外,在詢問此類問題時,最好提供您的配置,即docker-compose.yaml文件。 在理解問題時這非常有用。
可能您的compose.yaml文件中沒有將Org2的端口號映射到其他端口號。
您可以嘗試以下任何一種方法-
查看docker yaml文件中定義的端口號,並在命令中使用該端口號調用鏈代碼。 每個伙伴都應該有所不同。
修改yaml文件,以便7051重定向到新的端口號,例如9051。如下所示
環境:
查看端口號7051映射到9051的末尾。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.