簡體   English   中英

Hyperledger Fabric - Peer無法加入頻道

[英]Hyperledger Fabric - Peer unable to join channel

我們在嘗試對等節點加入頻道時遇到錯誤。 兩個成員都有獨立的對等節點和獨立的EC2機器,充當網絡的客戶端。 Member1創建了一個通道,並將其對等節點加入了該通道。 Member2從他們的客戶端取消了創世塊,但在嘗試加入該頻道時,我們收到錯誤:

Error: genesis block file not found open ourchannel.block: no such file or directory

盡管在目錄中看到了ourchannel.block,我們運行命令。 我們用來加入頻道的命令是:

docker exec -e "CORE_PEER_TLS_ENABLED=true" \
-e "CORE_PEER_TLS_ROOTCERT_FILE=/opt/home/managedblockchain-tls-chain.pem" \
-e "CORE_PEER_ADDRESS=$PEER" \
-e "CORE_PEER_LOCALMSPID=$MSP" \
-e "CORE_PEER_MSPCONFIGPATH=$MSP_PATH" \
cli peer channel join -b ourchannel.block \
-o $ORDERER --cafile /opt/home/managedblockchain-tls-chain.pem --tls

如果您在一個單獨的容器中創建一個通道,那么您只有genesis塊(帶.block擴展名的文件),在您的情況下是cli容器。 請使用cli容器中的ls命令進行檢查。

跳轉到cli容器的簡單命令:

docker exec -it cli bash

如果你找不到genesis塊,你可以從orderer獲取它(記得修改適合你項目的cafile路徑):

peer channel fetch 0 ourchannel.block -o orderer.example.com:7050 -c ourchannel --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem

在此之后,您可以使用peer channel join命令加入該通道。

簡單的問題,我們必須指定塊文件的絕對路徑。

代替

cli peer channel join -b ourchannel.block

我們用了

cli peer channel join -b /opt/home/ourchannel.block \\

它起作用了。

暫無
暫無

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

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