我试图通过引用:http://hyperledger-fabric.readthedocs.io/en/latest/channel_update.html
将组织添加到现有频道使用以下命令成功获取最近的块:
peer channel fetch config config_block.pb -o orderer.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_block.json > config.json
我遇到了以下错误:
jq: error: Could not open file config_block.json: No such file or directory
configtxlator: error: expected command but got "proto_decode", try --help
我似乎需要先生成config_block.json
,但是如何生成?
答案 0 :(得分:2)
Actuallay真正的问题是:
" configtxlator:错误:预期命令但得到" proto_decode",尝试 --help"
我们也面临同样的问题并使用configtxlator restapi解决了。 您可以逐步对cli执行相同的任务:
configtxlator start & #to start rest api
curl -X POST --data-binary @config_block.pb http://127.0.0.1:7059/protolator/decode/common.Block > config_block.json
jq .data.data[0].payload.data.config config_block.json > config.json
答案 1 :(得分:1)
Docker镜像和相应实用程序的版本不正确。 “将组织添加到现有频道”需要版本“1.1.0-preview”。
您阅读的文档版本是最新版本,因此您的Docker图像和相应的实用程序需要版本“1.1.0-preview”。
您阅读的文档版本为“v1.1.0-alpha”,因此您的Docker镜像和相应的实用程序需要版本“v1.1.0-alpha”。
答案 2 :(得分:1)
在v1.1.0-rc1发布之后,我按照更新的说明操作,并且能够成功执行“向组件添加组织”的所有命令。
更新的命令如下:
configtxlator proto_decode --input config_block.pb --type common.Block | jq .data.data[0].payload.data.config > config.json
实际上只是省略了上一个命令中的config_block.json
。