本系列文章:


第一章:九析带你完爆 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 生命周期介绍

第十一章: 九析带你轻松完爆 hyperledger fabric - 创建联盟

第十二章: 九析带你轻松完爆 hyperledger fabric - configtxlator 尝鲜

目录

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 目录,如下图所示:第十二章 九析带你轻松完爆 hyperledger fabric - configtxlator_第1张图片

        执行如下语句:

go install --tags=nopkcs11 # mac 操作系统

        查看 $GOPATH/bin 目录下发现 configtxlator 可执行文件已经生成:第十二章 九析带你轻松完爆 hyperledger fabric - configtxlator_第2张图片


3 configtxlator 验证

        因为我在第二章已经设置好了环境变量 PATH,因此可以通过执行如下命令验证 configtxlator 工具是否安装成功:

configtxlator --help


4 查看区块信息

4.1 启动 configtxlator server

        执行如下命令启动 configtxlator server:

configtxlator start

        成功启动后截图如下:image3.png

4.2 查看区块信息

        在上节九析带你们在 fabric-sample 下的 first-network 里轻松创建了创始区块,如下截图:image4.png

        创世区块的名称为 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 格式文件,再用文件编辑工具打开,发现创世区块的内容已经文本可读了。如下截图所示:第十二章 九析带你轻松完爆 hyperledger fabric - configtxlator_第3张图片

        自此,九析已经带你使用 configtxlator 工具轻松完爆二进制信息格式到 json 格式文件的转换。