[英]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.