用configtxlator+cli+sdk
最近对动态追加组织Org3MSP进行了确认(cli+sdk),以下是所有的步骤。(过程粗略,详细部分自己学习研究,只是提供思想)
cli用来生成pb文件,sdk用来做签名
1.取得e2e例子的mychannel的配置定义
CORE_PEER_LOCALMSPID="Org1MSP"
peer channel fetch config 'mychannel.pb' -o 'orderer0.example.com:7050' -c 'mychannel'
2.取得系统channel的配置定义
CORE_PEER_LOCALMSPID="OrdererMSP"
peer channel fetch config 'syschannel.pb' -o 'orderer0.example.com:7050' -c 'testchainid'
3.生成新组织的所有密钥
做一个新的crypto-config.yaml文件,里面只有新组织的情报
通过下面命令,生成所有密钥文件
...../hyperledger/fabric/release/linux-amd64/bin/cryptogen generate --config=./crypto-config-neworg.yaml
4.做两个OrgMSPsample.json文件,分别用于普通channel和系统channel。两个的区别在于,系统channel有AnchorPeers和版本的定义
5.对于生成的密钥进行base64编码,并填写到OrgMSPsample.json里面。共牵涉3个项目如下。
admins ->../crypto-config/peerOrganizations/org3.example.com/users/Admin@org3.example.com/msp/admincerts/Admin@org3.example.com-cert.pem
root_certs ->../crypto-config/peerOrganizations/org3.example.com/users/Admin@org3.example.com/msp/cacerts/ca.org3.example.com-cert.pem
tls_root_certs ->../crypto-config/peerOrganizations/org3.example.com/users/Admin@org3.example.com/msp/tlscacerts/tlsca.org3.example.com-cert.pem
命令:cat xxxxx | base64 | sed ":a;N;s/\n//g;ta"
6.参照fabric/examples/configtxupdate/例子,把普通channel和系统channel的差分pb文件做好,准备给sdk使用。
7.在sdk利用上面生成的查分pb文件,对系统channel进行更新(向Consortiums追加org,用OrderMSP的Admin用户提交更新)。
9.在sdk利用上面生成的查分pb文件,对mychannel进行更新(向applicati