本系列文章:
第一章:九析带你完爆 hyperledger fabric - 快速上手 basic-network 样例
第二章:九析带你完爆 hyperledger fabric - 快速搭建 GO 环境
第三章:九析带你完爆 hyperledger fabric - 快速上手 first-network 样例
第四章:九析带你完爆 hyperledger fabric - 系统逻辑架构篇
第五章:九析带你完爆 hyperledger fabirc - 网络节点介绍
第六章: 九析带你轻松完爆 hyperledger fabric - 区块和区块链介绍
第七章: 九析带你轻松完爆 hyperledger fabric - 区块链防篡改机制
第八章:九析带你轻松完爆 hyperledger fabric - Couchdb 安装
第九章:九析带你轻松完爆 hyperledger fabric - NVM 和 Nodejs 安装
第十章:九析带你轻松完爆 hyperledger fabric - chaincode 生命周期介绍
目录
1 介绍
2 configtxlator 获取
3 configtxlator 验证
4 查看区块信息
4.1 启动 configtxlator server
4.2 查看区块信息
1 介绍
上节我们讲了 fabric 的联盟、组织和通道相关概念,并且使用 configtxgen 创建了包含有联盟通道信息的创始区块。但是如果你尝试使用文本编辑工具查看 .block 区块信息时,却发现是二进制代码。本节将使用另一款工具 configtxlator 来查看和编辑 .block 文件。
configtxlator 是 configtx 和 translator 的叠加,是一种将二进制信息格式和 json 可读格式之间的相互转换的工具。
因为在 fabric 中,配置交易文件 .tx 和创世区块文件 .block 都是二进制信息格式,用户无法查看和编辑。configtxlator 工具提供 API,让用户可以更新配置。
2 configtxlator 获取
configtxlator 需编译源码才能生成。有关 fabric 源码获取和 GO 编译环境配置,请参考本人的第二章和第三章。
进入 fabirc 源码下的 common/tools/configtxlator 目录,如下图所示:
执行如下语句:
go install --tags=nopkcs11 # mac 操作系统
查看 $GOPATH/bin 目录下发现 configtxlator 可执行文件已经生成:
3 configtxlator 验证
因为我在第二章已经设置好了环境变量 PATH,因此可以通过执行如下命令验证 configtxlator 工具是否安装成功:
configtxlator --help
4 查看区块信息
4.1 启动 configtxlator server
执行如下命令启动 configtxlator server:
configtxlator start
成功启动后截图如下:
4.2 查看区块信息
在上节九析带你们在 fabric-sample 下的 first-network 里轻松创建了创始区块,如下截图:
创世区块的名称为 jiuxi-channel.block,如果你用文本编辑工具打开,发现全是乱码,下面我们使用 configtxlator 来做二进制信息到 json 信息的转换。
使用如下命令可以根据 jiuxi-channel.block 文件生成 json 格式文件:
curl -X POST --data-binary @jiuxi-channel.block http://127.0.0.1:7059/protolator/decode/common.Block > jiuxi-channel.json
命令执行后,会在目录下生成 jiuxi-channel.json 格式文件,再用文件编辑工具打开,发现创世区块的内容已经文本可读了。如下截图所示:
自此,九析已经带你使用 configtxlator 工具轻松完爆二进制信息格式到 json 格式文件的转换。