configtxlator模块可以把区块链的二进制文件转换成JSON格式文件,便于阅读。
1 configtxlator 命令参数
configtxlator模块包含三个命令,执行命令configtxlator --help如下所示:
Commands:
usage: configtxlator [<flags>] <command> [<args> ...]
Utility for generating Hyperledger Fabric channel configurations
Flags:
--help 显示帮助信息
Commands:
help [<command>...]
显示帮助信息
start [<flags>]
启动configtxlator REST 服务器
version
显示版本喜喜
start命令包含三个参数:
usage: configtxlator start [<flags>]
Start the configtxlator REST server
Flags:
--help 显示帮助信息
--hostname="0.0.0.0" 服务监听地址
--port=7059 服务监听端口
configtxlator是以一个RESTAPI服务器的形式提供服务,可以通过标准的HTTP请求来访问configtxlator。启动命令如下:
configtxlator start --hostname=127.0.0.1: --port=12345
2 configtxlator 功能
configtxlator的REST服务提供了解码、编码、计算配置更新、交易打包四个功能:
2.1 解码
curl -X POST --data-binary @orderer.genesis.block http://127.0.0.1:12345/protolator/decode/common.Block > ./orderer.genesis.blcok.json
上面的命令把当前目录下的orderer.genesis.block转换成orderer.genesis.blcok.json文件
2.2 编码
curl -X POST --data-binary @updated_config.json http://127.0.0.1:12345/protolator/encode/common.Config > ./updated_config.pb
上面的命令把当前目录下的updated_config.json配置文件转换成updated_config.pb文件
2.3 计算配置更新量
curl -X POST -F original=@config.pb -F update=@updated_config.pb http://127.0.0.1:12345/configtxlator/compute/update-from-configs -F channel=testchainid > config_update.pb
上面的命令对比config.pb和updated_config.pb的差异,提取其中的差异生成区块格式的文件config_update.pb
2.4 交易打包
curl -X POST --data-binary @config_update_as_envelope.json http://127.0.0.1:12345/configtxlator/encode/common.Envelope > config_update_as_envelope.tx
上面的命令把JSON格式的交易文件config_update_as_envelope.json打包成交易格式的文件config_update_as_envelope.tx