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