Hyperledger Fabric-对等无法加入频道

时间:2019-04-25 20:37:56

标签: hyperledger-fabric hyperledger blockchain

尝试对等节点加入频道时出现错误。这两个成员都有单独的对等节点和充当网络客户端的单独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

2 个答案:

答案 0 :(得分:0)

如果在单独的容器(在您的情况下为#include <type_traits> template<typename Scalar, class ClassDispatcher, typename... Args, typename = typename std::enable_if<(sizeof...(Args), std::is_same<Scalar, float>::value)>::type> auto dispatch(Args&&... args) {} 容器)中创建通道,则只有创世块(扩展名为.block的文件)。请在cli容器中使用ls命令进行检查。

跳转到cli容器的简单命令:

cli

以防万一找不到创世块,您可以从订购者那里获取(请记住修改cafile的路径以适合您的项目):

docker exec -it cli bash

此后,您可以使用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 命令加入频道。

答案 1 :(得分:0)

简单的问题,我们必须指定块文件的绝对路径。

代替

cli peer channel join -b ourchannel.block

我们使用

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

它奏效了。