Hyperledger Fabric 2.2.1 区块链问题汇总(后续有问题再更新)
作者:互联网
搭建Hyperledger Fabric时遇到了很多问题,很多坑,这里汇总一下,有些可能没保存图片,还有些问题没及时记录起来:
1、生成orderer区块文件时,如下图所示:
必须要指定channelID修改命令如下即可:
configtxgen -profile TestTwoOrgsOrdererGenesis -channelID qkltestchannel -outputBlock ./order.genesis.block
2、创建orderer区块文件时,如下图所示:
原因:OrdererDefaults引用不到,百度了一下,参考文章:https://blog.csdn.net/damonren/article/details/90753164,说是configtx.yaml配置文件的Profiles部分要放到最后面才行,修改下configtx.yaml的内容即可。
3、创建orderer区块文件时,如下图所示:
原因:configtx.yaml文件缺少了策略配置,增加对应的policies即可,可参考fabric源码的test-network目录下的configtx.yaml,我的是在这个目录:~/go/src/github.com/hyperledger/fabric/scripts/fabric-samples/test-network/configtx
4、创建orderer区块文件时,如下图所示:
原因:权限拒绝,因为要写入一个order.genesis.block文件,所以需要权限,输入命令:
sudo configtxgen -profile TestTwoOrgsOrdererGenesis -channelID qkltestchannel -outputBlock ./order.genesis.block
5、生成锚点更新文件时,即执行下面命令时:
sudo configtxgen -profile TestTwoOrgsChannel -outputAnchorPeersUpdate ./Org1MSPanchors.tx -channelID qkltestchannel -asOrg Org1MSP
sudo configtxgen -profile TestTwoOrgsChannel -outputAnchorPeersUpdate ./Org2MSPanchors.tx -channelID qkltestchannel -asOrg Org2MSP
如果出现Error on inspectChannelCreateTx:org 'Org1MSP' does not have any anchor peers这种报错的话,原因:configtx.yaml底下的Org1,即peer节点的配置少了下面的属性:
AnchorPeers:
- Host: peer0.org1.qkltest.com
Port: 7051
6、启动orderer节点时,即输入命令:orderer start时,如下图所示:
原因:权限问题,输入命令时,加个sudo orderer start即可
7、启动orderer节点时,如下图所示:
原因:configtx.yaml文件没配置capabilities的原因,因此我们重新改下configtx.yaml文件,增加了Capabilities,不过要重新生成对应的一些区块问题,通道配置文件,锚点更新文件
8、创建通道时,如下图所示:
原因:出现这种情况时,是因为找不到对应的配置文件,所以要切换到peer目录
9、创建通道时,如下图所示:
原因:连接不到orderer.qkltest.com:7050,可能网络配置问题,又或者orderer配置问题,又或者orderer没有启动
10、创建通道时,如下图所示:
原因:就是创建orderer区块文件时的channelID与创建通道配置文件channelID相同导致的
11、创建通道时,如下图所示:
原因:找不到对应的证书路径,可以加上--cafile指定orderer的证书路径,我的路径:/opt/hyperledger/fabricconfig/crypto-config/ordererOrganizations/qkltest.com/orderers/orderer.qkltest.com/msp/tlscacerts/tlsca.qkltest.com-cert.pem
又或者,没有设置相关的变量:
export set CORE_PEER_LOCALMSPID=Org1MSP
export set CORE_PEER_ADDRESS=peer0.org1.qkltest.com:7051
export set CORE_PEER_MSPCONFIGPATH=/opt/hyperledger/fabricconfig/crypto-config/peerOrganizations/org1.qkltest.com/users/Admin@org1.qkltest.com/msp
12、用docker-compose启动网络时,orderer节点启动失败,如下图所示:
原因:通常出现这种情况,就是证书路径配置错了,检查一下docker-compose-test-qkl.yaml路径,发现没有错呀,也可能是docker-compose-test-qkl.yaml文件底下orderer配置的路径下msp没有signcerts目录:
上面这种的解决就是再搭建Fabric第一步时配置出问题了,我是把一个orderer其中的属性Specs写成小写的specs,导致一些目录和证书缺少,没生成。需要重新修改crypto-config.yaml,再重新执行命令:
sudo cryptogen generate --config=crypto-config.yaml
可能还有很多问题,可以参考这篇文章:https://studygolang.com/articles/20611
我这边也会持续更新,有问题可以在下方提出,大家一起讨论学习,谢谢!
标签:Fabric,qkltest,yaml,orderer,所示,2.2,Hyperledger,com,configtx 来源: https://blog.csdn.net/u012561176/article/details/113244536