美文网首页超级账本HyperLeder
Hyperledger Fabric 存储结构

Hyperledger Fabric 存储结构

作者: 小蜗牛爬楼梯 | 来源:发表于2020-11-25 10:53 被阅读0次

    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 存储结构

        本文链接:https://www.haomeiwen.com/subject/qdngiktx.html