Hyperledger Fabric 小知识点汇总

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月;

你可能感兴趣的:(Hyperledger Fabric 小知识点汇总)