1 基本知識(shí)點(diǎn)
1.1 賬本數(shù)據(jù)
記賬節(jié)點(diǎn)的賬本數(shù)據(jù)存儲(chǔ)目錄一般是
/var/hyperledger/production/ledgersData/chains/chains
超級賬本包含以下元素:
賬本編號(hào):快速查詢存在哪些賬本;
賬本數(shù)據(jù):實(shí)際的區(qū)塊數(shù)據(jù)存儲(chǔ);
區(qū)塊索引:快速查詢區(qū)塊/交易;
狀態(tài)數(shù)據(jù):最新的時(shí)間狀態(tài)數(shù)據(jù);
歷史數(shù)據(jù):跟蹤鍵的歷史;
每個(gè)Peer節(jié)點(diǎn)會(huì)維護(hù)4個(gè)DB,分別是:
idStore:存儲(chǔ)chainID;
stateDB:存儲(chǔ)world state;
historyDB,存儲(chǔ)key的版本變化;
blockIndex,存儲(chǔ)block索引;



1.2 索引數(shù)據(jù)
記賬節(jié)點(diǎn)和排序節(jié)點(diǎn)都會(huì)給賬本數(shù)據(jù)建立索引,不同的是排序節(jié)點(diǎn)只會(huì)建立以BlockNum為屬性的索引。
索引文件存儲(chǔ)的目錄是
/var/hyperledger/production/ledgersData/chains/index
1.3 狀態(tài)數(shù)據(jù)
排序節(jié)點(diǎn)不需要查詢具體的交易信息和狀態(tài)數(shù)據(jù),也不會(huì)存儲(chǔ)狀態(tài)數(shù)據(jù)及其歷史數(shù)據(jù)。
peer節(jié)點(diǎn)上狀態(tài)數(shù)據(jù)存儲(chǔ)的目錄是
/var/hyperledger/production/ledgersData/stateLeveldb
其中l(wèi)edgersData/stateLeveldb是固定的后綴。
1.4 歷史數(shù)據(jù)
歷史數(shù)據(jù)存儲(chǔ)目錄是
/var/hyperledger/production/ledgersData/historyLeveldb
其中l(wèi)edgersData/historyLeveldb是固定的后綴。
2 區(qū)塊鏈瀏覽器
2.1 Blockchain Explore
psql與server版本不一致解決辦法,可以參考https://blog.csdn.net/pg_hgdb/article/details/80321354
3 GO SDK配置和使用
3.1 fabric-sdk-go依賴包下載
參考文章Go(GoLang)配置Grpc+ProtoBuf所需的一些資源
1).golang.org\x\net\context,對應(yīng)的可訪問鏈接:https://github.com/golang/net,里面包含context,dns,http2等一系列資源
2).golang.org/x/text/secure/bidirule,對應(yīng)的可訪問鏈接:https://github.com/golang/text,里面包含cmd,currency,secure等一系列資源
3).google.golang.org/grpc,對應(yīng)的可訪問鏈接:https://github.com/grpc/grpc-go,里面包含connectivity,grpclb,grpclog等一系列資源
4).google.golang.org/genproto,對應(yīng)的可訪問鏈接:https://github.com/google/go-genproto,里面包含googleapis,protobuf等一系列資源
3 Fabric日志
3.1 日志文件過大,磁盤暫滿
這是在區(qū)塊鏈交流群中一個(gè)哥們遇到的問題,記錄下來,供大家參考。

問題描述:docker節(jié)點(diǎn)的日志,長時(shí)間打印輸出,會(huì)導(dǎo)致日志文件體積不斷變大,從而致使磁盤占滿,解決辦法如下:

# 參考文獻(xiàn)
1. 《深度探索區(qū)塊鏈-Hyperledger技術(shù)與應(yīng)用》,張?jiān)鲵E、董寧、朱軒彤等,機(jī)械工業(yè)出版社,2018年4月;