Hyperledger Fabric 存储结构

小蜗牛爬楼梯 · · 82 次点击 · · 开始浏览    

1 基本知识点

1.1 账本数据

记账节点的账本数据存储目录一般是

/var/hyperledger/production/ledgersData/chains/chains

超级账本包含以下元素:

账本编号:快速查询存在哪些账本;

账本数据:实际的区块数据存储;

区块索引:快速查询区块/交易;

状态数据:最新的时间状态数据;

历史数据:跟踪键的历史;

每个Peer节点会维护4个DB,分别是:

idStore:存储chainID;

stateDB:存储world state;

historyDB,存储key的版本变化;

blockIndex,存储block索引;

image
image
image

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 日志文件过大,磁盘暂满

这是在区块链交流群中一个哥们遇到的问题,记录下来,供大家参考。

image

问题描述:docker节点的日志,长时间打印输出,会导致日志文件体积不断变大,从而致使磁盘占满,解决办法如下:

image

有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:小蜗牛爬楼梯

查看原文:Hyperledger Fabric 存储结构

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:1006366459

82 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传