向Hyperledger Fabric 1.1.0-preview网络添加第五组织遇MSP策略问题求助
我碰到过完全一样的问题!
我之前在给Hyperledger Fabric网络添加第五个组织时,也卡在了策略相关的错误上,后来排查下来主要是这几个点没做好,你可以对照检查下:
1. 通道配置里的核心策略没包含Org5MSP
执行peer channel update失败,大概率是通道的Application级别策略没更新到位。你需要用configtxlator导出当前通道的配置,重点检查这几个策略节点:
Channel/Application/ReadersChannel/Application/WritersChannel/Application/Admins
之前我只加了Org5的MSP定义,但忘了把它加入这些策略的OR列表里。比如原来的Admins策略可能只有前四个组织的MSP.admin,你需要把Org5MSP.admin也加进去,再重新生成更新的envelope文件。
2. 链码背书策略没同步更新到Org5
你之前升级链码时只写到了Org3,现在必须把Org5也加进去。正确的升级命令应该是:
peer chaincode upgrade -o orderer.example.com:7050 --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA -C $CHANNEL_NAME -n mycc -v 2.0 -c '{"Args":["init","a","90","b","210"]}' -P "OR ('Org1MSP.member','Org2MSP.member','Org3MSP.member','Org4MSP.member','Org5MSP.member')"
而且要确保Org5的peer节点已经安装并批准了这个2.0版本的链码,不然后续交易背书会失败。
3. 仔细解析Orderer日志里的错误细节
Orderer日志里肯定会明确指出是哪个策略验证失败,比如是通道的Admin策略不允许Org5提交更新,还是链码调用时背书策略不满足。我当时日志里显示的是Admins策略缺失Org5,补全后就解决了一个错误,剩下的是链码背书策略的问题,升级链码后就全好了。
4. 检查通道更新envelope的生成流程
生成org5_update_in_envelope.pb时,一定要基于最新的通道配置(添加完Org4之后的配置),而且要确保修改配置时,把所有涉及到组织列表的策略都更新了,不要只改一个就完事。比如有些自定义的通道策略或者链码初始化时的策略,也可能需要同步更新。
按这个流程走下来,应该就能解决你剩下的那个策略问题了!
内容的提问来源于stack exchange,提问作者Niel Gong
相关产品推荐
相关产品推荐

