锯齿验证器中需要备份(分类帐)的文件是什么

时间:2019-08-01 15:23:45

标签: blockchain hyperledger hyperledger-sawtooth

  • 从旧锯齿网络的旧数据中编排新网络所需的主要文件集是什么(我不想扩展旧锯齿网络)。

我想从分类帐中的最后一块备份对网络操作至关重要的基本文件。

  • 我有在锯齿验证器中生成的文件列表,并带有诗人的意思:
    • block-00.lmdb
    • poet-key-state-0371cbed.lmdb
    • block-00.lmdb锁
    • poet_consensus_state-020a4912.lmdb
    • block-chain-id
    • poet_consensus_state-020a4912.lmdb锁定
    • merkle-00.lmdb
    • poet_consensus_state-0371cbed.lmdb
    • merkle-00.lmdb锁
    • txn_receipts-00.lmdb
    • poet-key-state-020a4912.lmdb
    • txn_receipts-00.lmdb锁定
    • poet-key-state-020a4912.lmdb-lock
  • 每个文件的意义是什么?如果重新启动网络或使用分类帐中的旧数据创建新网络时,如果不包括这些文件,将会带来什么后果。

2 个答案:

答案 0 :(得分:5)

这个问题的答案可能会膨胀,我将在这里讨论大部分问题,以使有此问题的人们受益,尤其是当他们想通过Kubernetes部署网络时,这将有所帮助。同样,在RocketChat官方频道也经常问类似的问题。

默认情况下,除非经过更改,否则验证器和PoET的基本文件集默认存储在/etc/sawtooth(键和配置目录)和/var/lib/sawtooth(数据目录)目录中。为此创建一个装入的卷,以便在编排新实例时可以重用它们。

这是可通过其更改默认验证程序路径的文件https://github.com/hyperledger/sawtooth-core/blob/master/validator/packaging/path.toml.example

请注意,您错过了问题中必不可少的文件列表中的键,并且在网络中起着重要的作用。如果是PoET,则每个飞地的注册信息都将根据验证者的公钥存储在验证者注册表中。如果是Raft / PBFT,共识引擎会利用密钥(成员列表信息)发送对等消息。

对于Raft数据目录,它是/var/lib/sawtooth-raft-engine

对于大多数人来说,列出的每个文件的重要性可能都不重要。但是,这里有一些重要的解释

    您看到的
  • *-lock文件是系统生成的。如果看到这些,则说明其中一个过程必须已打开文件进行写入。
  • block-00.lmdb是块存储/块链,具有KV对块ID来块信息。也可以通过其他键索引块。 Hyperledger Sawtooth文档是了解完整细节的正确位置。
  • merkle-00.lmdb用于存储状态根哈希/全局状态。它是KV对中的merkle树表示形式。
  • txn-receipts-00.lmdb文件是成功存储事务执行状态的文件。它还具有有关事件的信息(如果有)与那些事务相关联。

答案 1 :(得分:2)

以下是锯齿常见问题解答中的文件列表: https://sawtooth.hyperledger.org/faq/validator/#what-files-does-sawtooth-use