Hyperledger Fabric执行./byfn.sh -m up启动网络失败求助
解决Hyperledger Fabric byfn.sh启动时找不到TLS根证书的问题
我来帮你排查这个报错,这个错误本质是脚本找不到Orderer节点的TLS根证书文件,大概率是证书生成环节有遗漏,或者环境配置出现了偏差,给你几个可行的解决步骤:
第一步:彻底清理环境后重新生成资源
先把之前可能残留的容器、证书、通道文件全部清理干净,避免旧文件干扰:./byfn.sh -m down然后重新生成所有必要的证书、创世区块和通道交易文件,这一步要仔细看输出日志,确保没有报错:
./byfn.sh -m generate第二步:手动验证证书文件是否存在
去错误提示的路径下检查证书是否真的生成了:ls /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/如果没有找到
tlsca.example.com-cert.pem,说明cryptogen工具生成证书失败了:- 先检查当前目录下的
crypto-config.yaml配置文件,确认OrdererOrg的配置项没有拼写错误 - 单独运行
cryptogen工具重新生成证书:cryptogen generate --config=./crypto-config.yaml
- 先检查当前目录下的
第三步:确认工作目录和环境变量
- 确保你是在Fabric samples的
first-network目录下运行的脚本,工作目录错误会导致路径引用失效 - 尽量不要手动修改
CORE_PEER_MSPCONFIGPATH这类核心环境变量,保持脚本默认的配置即可
- 确保你是在Fabric samples的
第四步:检查Docker挂载路径配置
打开当前目录下的docker-compose-cli.yaml,查看volumes部分,确认本地的./crypto目录是否正确挂载到了容器内的/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto路径,挂载错误会导致容器内找不到证书文件
内容的提问来源于stack exchange,提问作者xueying.B
相关产品推荐
相关产品推荐

