安装Hyperledger Fabric,服务整个都跑起来了,但是抛了一个错,Error: got unexpected status: FORBIDDEN -- Failed to reach implicit threshold of 1 sub-policies, required 1 remaining: permission denied
这个时候找了很多解决的办法,解决思路是,仔细看一下orderer的日志,看清楚它到底是具体的哪一个部分有问题,
看到大多数的问题在于:
1)UTC [cauthdsl] deduplicate -> ERRO 014 Principal deserialization failure (the supplied identity is not valid: x509: certificate signed by unknown authority (possibly because of "x509: ECDSA verification failure" while trying to verify candidate authority certificate "ca.org1.example.com")) for identity
错误原因:由于启动过网络并且更新了证书,在没有删除干净的环境中启动复用的之前的volume,所以导致证书认证失败。
解决方案:执行如下命令删除卷
docker-compose -f docker-compose-cli.yaml down --volumes --remove-orphans
docker rm -f $(docker ps -a | grep "hyperledger/*" | awk "{print \$1}")
docker volume prune
2)这个是我自己的问题,deduplicate -> ERRO 2dd Principal deserialization failure (MSP OrdererMSP is unknown) for identity
其实这个不在创世机构里面的组织, 发起创建channel交易
去查看,docker-compose配置文件中的- ORDERER_GENERAL_LOCALMSPID=OrdererMSP,这个值需要和configtx.yaml配置文件中的组织名称保持一致,否则就会报上面的错误,
解决方案:修改保持两边一致即可
原文出处:https://www.cnblogs.com/medci/p/10951246.html
来源:oschina
链接:https://my.oschina.net/u/4290907/blog/3262607