簡體   English   中英

無法調用超級賬本結構中的鏈碼

[英]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的端口號映射到其他端口號。

您可以嘗試以下任何一種方法-

  1. 查看docker yaml文件中定義的端口號,並在命令中使用該端口號調用鏈代碼。 每個伙伴都應該有所不同。

  2. 修改yaml文件,以便7051重定向到新的端口號,例如9051。如下所示

    環境:

    • CORE_PEER_ID = peer0.org2.example.com
    • CORE_PEER_ADDRESS = peer0.org2.example.com:7051
    • CORE_PEER_GOSSIP_EXTERNALENDPOINT = peer0.org2.example.com:7051
    • CORE_PEER_GOSSIP_BOOTSTRAP = peer1.org2.example.com:7051
    • CORE_PEER_LOCALMSPID = Org2MSP卷:
      • / var / run /:/ host / var / run /
      • ../crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp:/etc/hyperledger/fabric/msp
      • ../crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls:/etc/hyperledger/fabric/tls
      • peer0.org2.example.com:/var/hyperledger/生產端口:
    • 9051:7051
    • 9053:7053`。

查看端口號7051映射到9051的末尾。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM