HLF v1.0.2 交易日志结构(a.k.a链)

HLF v1.0.2 Structure of the transaction log (a.k.a chain)

作为第三方审计员,我想验证链中区块的哈希值。我想编写自己的工具来审计位于以下位置的物理链文件:

/var/hyperledger/production/ledgersData/chains/chains/<channel_name>/blockfile_*

在每个同行上。

问:链文件的结构是什么?

我已阅读文档,但找不到有关区块链物理文件结构的任何信息。

管理这些文件的包是common/ledger/blkstorage/fsblkstorage包。特别是,blkstorage_serialization.go 具有存储和访问块中数据的方法。

type serializedBlockInfo struct {
    blockHeader *common.BlockHeader
    txOffsets   []*txindexInfo
    metadata    *common.BlockMetadata
}

//The order of the transactions must be maintained for history
type txindexInfo struct {
    txID string
    loc  *locPointer
}

您可能会开发从此包派生的东西。