Roh*_*tri 11 hyperledger-fabric
我已经设置了一个带有1个订购者节点的超级结构网络,但是不知道如何将更多的订购者节点添加到正在运行的生产超级广告网络中.
任何帮助将不胜感激,谢谢.
Ant*_*vic 19
首先,您的网络订购服务必须设置为Kafka,而不是单独.您可以在OrdererType下的configtx.yaml文件中执行此操作.然后,您还必须创建kafka经纪人,动物园管理员并配置所有这些.如果你不熟悉这个,我发现实验和研究这个回复https://github.com/keenkit/fabric-sample-with-kafka非常有帮助.
假设您有一个使用Kafka订购服务的工作网络,则通过频道更新添加额外的订购者,这与添加新组织非常相似.有很多步骤,但它们都在这里列出并解释http://hyperledger-fabric.readthedocs.io/en/release-1.1/channel_update_tutorial.html.我建议您了解如何首先添加组织,但如果您感觉舒适,那么添加订购者的唯一区别是:
jq -s '.[0] * {"channel_group":{"groups":{"Application":{"groups": {"Org3MSP":.[1]}}}}}' config.json ./channel-artifacts/org3.json > modified_config.json
将新的org加密材料添加到网络的命令,打开json文件并查找"OrdererAddresses".在另一个标签"地址"下应该有一系列的订货人.在这里添加您的订货人,只需将文件保存为modified_config.json即可.然后,您可以向前运行相同的命令.peer channel signconfigtx -f org3_update_in_envelope.pb
带有活动订货人的CLI引导签名信封并使用OrdererMSP时,订货人将拒绝您的交易.用于添加新组织的组织MSP将不起作用.为了帮助解决问题,我发现最初启动上面创建的github repo的2 Orderer设置更容易,然后测试删除1 orderer,然后重新添加它.在该实验之后再添加第3个.
就像旁注一样,您可以在此处找到可以通过频道更新更改的所有其他内容:http://hyperledger-fabric.readthedocs.io/en/release-1.1/config_update.html.单击"单击此处查看配置"以查看json配置的示例(注意:示例是独奏而不是Kafka).
一步一步(根据要求):
cryptogen extend --config=./crypto-config.yaml
注意:'extend'部分因此它生成您需要的内容而不是重新生成所有内容.docker exec -it cli bash
进入CLI容器并使用活动的订购者信息引导它,因为您需要OrdererMSP来注销此更改.Bootstrap例如(你的可能会有所不同): CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/users/Admin@example.com/msp
CORE_PEER_ADDRESS=orderer0.example.com:7050
CORE_PEER_LOCALMSPID=OrdererMSP
CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer0.example.com/tls/ca.crt
ORDERER_CA=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer0.example.com/msp/tlscacerts/tlsca.example.com-cert.pem
CHANNEL_NAME=mychannel
apt update && apt install -y jq
peer channel fetch config config_block.pb -o orderer0.example.com:7050 -c $CHANNEL_NAME --tls --cafile $ORDERER_CA
configtxlator proto_decode --input config_block.pb --type common.Block | jq .data.data[0].payload.data.config > config.json
configtxlator proto_encode --input config.json --type common.Config --output config.pb
configtxlator proto_encode --input modified_config.json --type common.Config --output modified_config.pb
configtxlator compute_update --channel_id $CHANNEL_NAME --original config.pb --updated modified_config.pb --output org3_update.pb
configtxlator proto_decode --input org3_update.pb --type common.ConfigUpdate | jq . > org3_update.json
echo '{"payload":{"header":{"channel_header":{"channel_id":"mychannel", "type":2}},"data":{"config_update":'$(cat org3_update.json)'}}}' | jq . > org3_update_in_envelope.json
configtxlator proto_encode --input org3_update_in_envelope.json --type common.Envelope --output org3_update_in_envelope.pb
peer channel update -f org3_update_in_envelope.pb -c $CHANNEL_NAME -o orderer0.example.com:7050 --tls --cafile $ORDERER_CA
一旦你的同伴得到这个新的块,他们现在知道新的订货人的地址,并可以联系它.
归档时间: |
|
查看次数: |
2618 次 |
最近记录: |