安裝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配置文件中的組織名稱保持一致,否則就會報上面的錯誤,
解決方案:修改保持兩邊一致即可