fabric1.4动态添加组织
动态添加组织 准备liuhao2-crypto.yaml配置文件
PeerOrgs:
- Name: liuhao2
Domain: liuhao2.yinhai.com
EnableNodeOUs: true
Template:
Count: 2
Users:
Count: 1
生成证书文件
$ cryptogen generate --config=./liuhao2-crypto.yaml
准备configtx.yaml文件
Organizations:
- &liuhao2
Name: liuhao2MSP# ID to load the MSP definition as
ID: liuhao2MSPMSPDir: crypto-config/peerOrganizations/liuhao2.yinhai.com/mspPolicies:
Readers:
Type: Signature
Rule: "OR('liuhao2MSP.admin', 'liuhao2MSP.peer', 'liuhao2MSP.client')"
Writers:
Type: Signature
Rule: "OR('liuhao2MSP.admin', 'liuhao2MSP.client')"
Admins:
Type: Signature
Rule: "OR('liuhao2MSP.admin')"AnchorPeers:
- Host: peer0.liuhao2.yinhai.com
Port: 11051
生成通道配置交易
configtxgen -printOrg liuhao2MSP > ../channel-artifacts/liuhao2.json
获取通道最新配置区块 【fabric1.4动态添加组织】进入cli
$ docker exec -it cli
获取
liuhaochannel
通道最新配置块$ peer channel fetch config config_block_liuhao.pb -o orderer.yinhai.com:7050 -c liuhaochannel --tls --cafile $ORDER_CA
对配置块进行json format
$ configtxlator proto_decode --input config_block.pb --type common.Block | jq .data.data[0].payload.data.config > config_liuhaochannel.json
将
liuhao2.json
加入到配置中
$ jq -s '.[0] * {"channel_group":{"groups":{"Application":{"groups": {"liuhao2MSP":.[1]}}}}}' config_liuhaochannel.json ./channel-artifacts/liuhao2.json > modified_config_liuhaochannel.json
对比
modified_config_liuhaochannel.json
和config_liuhaochannel.json
,生成更改配置
$ configtxlator proto_encode --input config_liuhaochannel.json --type common.Config --output config_liuhaochannel.pb
$ configtxlator proto_encode --input modified_config_liuhaochannel.json --type common.Config --output modified_config_liuhaochannel.pb
$ configtxlator compute_update --channel_id liuhaochannel --original config_liuhaochannel.pb --updated modified_config_liuhaochannel.pb --output liuhao2_update.pb
$ configtxlator proto_decode --input liuhao2_update.pb --type common.ConfigUpdate | jq . > liuhao2_update.json
包装信息
$ echo '{"payload":{"header":{"channel_header":{"channel_id":"liuhaochannel", "type":2}},"data":{"config_update":'$(cat liuhao2_update.json)'}}}' | jq . > liuhao2_update_in_envelope.json
$ configtxlator proto_encode --input liuhao2_update_in_envelope.json --type common.Envelope --output liuhao2_update_in_envelope.pb
签名并提交配置信息
$ peer channel signconfigtx -f liuhao2_update_in_envelope.pb
注:默认策略需要通道内大多数组织签名,需要大多数组织都执行以上操作
切换到另一个组织,执行提交(会自动签名)
$ peer channel update -f liuhao2_update_in_envelope.pb -c liuhaochannel -o orderer.yinhai.com:7050 --tls --cafile $ORDER_CA
推荐阅读
- 编写字典程序
- 动态组件与v-once指令
- 怎么将桌面上的CAD图纸添加到软件中进行BMP格式转换()
- iview|iview upload 动态改变上传参数
- react-navigation|react-navigation 动态修改 tabBar 样式
- 2147483647与int型
- K14|K14 9/15销售提问法D2
- 怎样把一个字典的数据添加到另一个字典中()
- 动态|诗歌《在精神科诊室》发《小说与诗》(香港)报
- 培养习惯的倦怠期可以添加变化~74