在進行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(超級賬本)狀態的歷史操作記錄查詢:按狀態值進行歷史操作記錄查詢
4、Hyperledger Fabric(超級賬本)JSON格式狀態值的細粒度查詢:自動分析所有JSON格式狀態值的Schema,並對所有Schema進行增量聚類;向用戶顯示Schema信息,輔助用戶進行JSON格式文檔的細粒度查詢;操作很簡單,選中Schema,在Selections區域設置想要查詢的字段、在Conditions區域設置過濾條件就可以了;同時在Selections區域的AS部分可自定義返回結果的字段名
最后放一張Ledger Data Refiner的首頁Dashboard圖