1 基本知识点
1.1 账本数据
记账节点的账本数据存储目录一般是
/var/hyperledger/production/ledgersData/chains/chains
超级账本包含以下元素:
账本编号:快速查询存在哪些账本;
账本数据:实际的区块数据存储;
区块索引:快速查询区块/交易;
状态数据:最新的时间状态数据;
历史数据:跟踪键的历史;
每个Peer节点会维护4个DB,分别是:
idStore:存储chainID;
stateDB:存储world state;
historyDB,存储key的版本变化;
blockIndex,存储block索引;
账本整体结构 区块结构 交易结构1.2 索引数据
记账节点和排序节点都会给账本数据建立索引,不同的是排序节点只会建立以BlockNum为属性的索引。
索引文件存储的目录是
/var/hyperledger/production/ledgersData/chains/index
1.3 状态数据
排序节点不需要查询具体的交易信息和状态数据,也不会存储状态数据及其历史数据。
peer节点上状态数据存储的目录是
/var/hyperledger/production/ledgersData/stateLeveldb
其中ledgersData/stateLeveldb是固定的后缀。
1.4 历史数据
历史数据存储目录是
/var/hyperledger/production/ledgersData/historyLeveldb
其中ledgersData/historyLeveldb是固定的后缀。
2 区块链浏览器
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,对应的可访问链接:https://github.com/golang/net,里面包含context,dns,http2等一系列资源
2).golang.org/x/text/secure/bidirule,对应的可访问链接:https://github.com/golang/text,里面包含cmd,currency,secure等一系列资源
3).google.golang.org/grpc,对应的可访问链接:https://github.com/grpc/grpc-go,里面包含connectivity,grpclb,grpclog等一系列资源
4).google.golang.org/genproto,对应的可访问链接:https://github.com/google/go-genproto,里面包含googleapis,protobuf等一系列资源
3 Fabric日志
3.1 日志文件过大,磁盘暂满
这是在区块链交流群中一个哥们遇到的问题,记录下来,供大家参考。
日志文件占满磁盘空间问题描述:docker节点的日志,长时间打印输出,会导致日志文件体积不断变大,从而致使磁盘占满,解决办法如下:
清理docker容器日志# 参考文献
1. 《深度探索区块链-Hyperledger技术与应用》,张增骏、董宁、朱轩彤等,机械工业出版社,2018年4月;
网友评论