我是HyperLedger光纤技术的新手,我正在跟随this official tutorial构建我的第一个网络。我用我公司的域名替换了example.com。生成证书后,我运行了以下命令来启动我的网络:
./byfn.sh up -c ttchannel
在频道创建过程中出现以下错误:
Error: got unexpected status: FORBIDDEN -- Failed to reach implicit threshold of 1 sub-policies, required 1 remaining: permission denied
!!!!!!!!!!!!!!! Channel creation failed !!!!!!!!!!!!!!!!
然后我从PEERs容器验证对等已经与此通道连接(不知道为什么以及何时建立此连接),所以,我重新启动了这个网络,然后得到以下错误:
Error: failed to create deliver client: failed to load config for OrdererClient: unable to load orderer.tls.rootcert.file: open /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/vodworks.com/orderers/orderer.vodworks.com/msp/tlscacerts/tlsca.vodworks.com-cert.pem: no such file or directory
!!!!!!!!!!!!!!! Channel creation failed !!!!!!!!!!!!!!!!
然后我在CLI容器中验证了crypto目录无法访问,因此我必须重新启动该容器才能使其可访问。但我仍然无法运行它。
任何人都可以建议这些错误意味着什么,我如何运行我的网络?
你究竟在哪里改变“example.com”?我很确定安装脚本还会根据configtx.yaml文件创建所有加密材料,该文件的“example.com”作为域无处不在。 docker-compose文件然后将创建的文件夹作为卷映射到容器中(请参阅docker-compose-base.yml):
../crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/msp:/var/hyperledger/orderer/msp
因此,docker-compose文件也希望证书位于此文件夹中。根据您的描述,我希望您在某些时候错过了更改域名。
这个错误的原因是网络没有正常下降。通过在每个对等体的容器内运行命令peer channel list
来验证所有对等体已经与通道连接,导致以下输出:
渠道同行加入: ttchannel
在这种情况下,命令peer channel create ...
实际上抛出了这个错误。因此,我可以使用以下命令成功运行网络:
**./byfn.sh restart -c ttchannel -s couchdb -t 60 -d 10**
实际上首先将网络放下然后重新启动它。