基于1.1.0预览(主要是第五个组织)

时间:2018-01-21 07:36:07

标签: blockchain hyperledger

我按照https://www.youtube.com/watch?v=DKuGU5CYV_E&t=5s的教程,成功将第三个组织添加到现有的结构网络中。另外,我尝试了第四个。但是,当我尝试按照步骤(https://hyperledger-fabric.readthedocs.io/en/latest/channel_update.html)将第五个组织添加到此网络时,当我运行命令“peer channel update -f org5_update_in_envelope.pb -c $ CHANNEL_NAME -o orderer.example.com时: 7050 --tls --cafile $ ORDERER_CA“,它提到了有关3个策略的错误,并且剩下一个策略。我查看了订单日志 error log。我正在使用命令“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“或('Org1MSP.member','Org2MSP.member','Org3MSP.member')” 改变认可政策。我认为这是关于“MSP政策”的问题。有人遇到过同样的问题吗?

2 个答案:

答案 0 :(得分:2)

看起来您需要使用管理员为Org3或Org4加密来运行频道更新。您有Org 1和Org2的签名。但是你需要3个Orgs1-4。

按照

的步骤操作

导出Org2环境变量:

除了将所有内容更改为Org3或Org4 admin之外。然后运行升级命令。

或者您可以将其作为管理员从Org3或Org4签名,然后任何管理员都可以升级它。

答案 1 :(得分:0)

您必须在以前的组织中运行对等通道signconfigtx。然后只有您可以更新您的频道。

您必须为每个组织重复运行以下命令:

"Loop Org1,org2,org3,org4"

docker cp org5_update_in_envelope.pb peer0.org1.example-swarm.com:/opt/gopath/src/github.com/hyperledger/fabric/

docker exec -e "CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/configtx/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp" -e "CORE_PEER_TLS_ROOTCERT_FILE=/etc/hyperledger/configtx/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt" peer0.org1.example-swarm.com peer channel signconfigtx -f org5_update_in_envelope.pb

docker cp peer0.org1.example-swarm.com:/opt/gopath/src/github.com/hyperledger/fabric/org5_update_in_envelope.pb org5_update_in_envelope.pb 

"End Loop"

最后,您可以运行:

docker cp org5_update_in_envelope.pb peer0.org1.example-swarm.com:/opt/gopath/src/github.com/hyperledger/fabric/

docker exec -e "CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/configtx/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp" -e "CORE_PEER_TLS_ROOTCERT_FILE=/etc/hyperledger/configtx/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt" peer0.org1.example-swarm.com peer channel update -f org5_update_in_envelope.pb -c $CHANNEL_NAME -o orderer.example.com:7050