【问题标题】:Hyperledger fabric where the blockchain state are saved保存区块链状态的超级账本结构
【发布时间】:2019-11-25 22:13:43
【问题描述】:

我使用具有 2 个组织的超级账本结构网络。现在我的问题是,fabric 将区块链状态存储在哪里。因为我面临这个问题,所以当我拒绝使用 docker 的组织时,区块链的所有状态都消失/删除。我如何跟踪或保存区块链状态,所以我不想一直从状态零开始区块链。请给我建议。 即使对于 Fabric 区块链浏览器也是如此。

【问题讨论】:

  • 它使用文件系统来存储区块链状态,因此您需要确保在停止 docker 容器时不要删除容器创建的卷

标签: hyperledger-fabric hyperledger


【解决方案1】:

您将需要使用持久卷来确保数据不存储在容器文件系统中,否则在容器被销毁时数据将被销毁。

对于peerscore.yaml 中的两个关键属性是:

peer.fileSystemPath - 默认为/var/hyperledger/production,是存放账本、已安装链码等的地方。对应的环境变量为CORE_PEER_FILESYSTEMPATH

peer.mspConfigPath - 存储本地 MSP 信息的位置。对应的环境变量为CORE_PEER_MSPCONFIGPATH

对于orderersorderer.yaml 中的两个关键属性是:

FileLedger.Location - 默认为/var/hyperledger/production/orderer,是存储通道账本的地方。对应的环境变量为ORDERER_FILELEDGER_LOCATION

General.LocalMSPDir - 存储本地 MSP 信息的位置。对应的环境变量为ORDERER_GENERAL_LOCALMSPDIR

【讨论】:

    【解决方案2】:

    很简单,你可以将docker的内容映射到docker之外并保存。

    例如,对于 orderer,它的所有内容都在 /var/hyperledger/production/orderer 中。 您可以将此文件夹映射到外部的本地文件夹中。 这样,即使不记录 docker bash,您也将看到 docker 文件夹的内容。

    现在您可以将此内容复制到另一个文件夹中,比如说备份。 当您重新创建 docker 时,您可以映射备份文件夹,以便它以您之前的内容开始。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多