在进行Fabric开发时,时常会碰到这样的问题:我的数据写入成功没?如何查看产生的区块和交易数据?如何进行某个状态的历史操作记录追踪?如何进行状态值的细粒度查询;存在账本里的状态是什么格式的等问题。
以往,碰到这些问题时,我们要么使用SDK写一些脚本进行查询,要么直接操作CouchDB进行状态查看,碰到状态的历史状态值查询就很麻烦了,需要在智能合约里添加非业务逻辑相关的查询代码,事后还要再删除。
在这里,推荐一款便捷的超级账本(Hyperledger Fabric)数据浏览查询工具Ledger Data Refiner:https://github.com/FujitsuLaboratories/Ledger-Data-Refiner,界面清新,功能丰富。
Ledger Data Refiner是一款面向Hyperledger Fabric的账本查询工具,安装便捷,提供两种安装方式,一种是源码直接编译安装,另一种是通过docker镜像启动。他的主要特征如下:
1、Hyperledger Fabric(超级账本)区块查询:按时间范围查询区块、按高度查询区块、按区块Hash查询区块,显示区块详情等
2、Hyperledger Fabric(超级账本)交易查询:按时间范围查询交易、按区块高度查询交易、按交易Hash查询交易;同时可以设置相关过滤条件,如按交易创建组织进行过滤。交易详情还能显示智能合约调用的函数名、传递的参数以及交易的读写集合等。
3、Hyperledger Fabric(超级账本)状态的历史操作记录查询:按状态值进行历史操作记录查询。目前这些功能也正在被其他超级账本浏览器工具(如Explorer)借鉴,它们也正在考虑在它们的工具中增加类似功能。
4、Hyperledger Fabric(超级账本)JSON格式状态值的细粒度查询:自动分析所有JSON格式状态值的Schema,并对所有Schema进行增量聚类;向用户显示Schema信息,辅助用户进行JSON格式文档的细粒度查询;操作很简单,选中Schema,在Selections区域设置想要查询的字段、在Conditions区域设置过滤条件就可以了;同时在Selections区域的AS部分可自定义返回结果的字段名
最后放一张Ledger Data Refiner的首页Dashboard图