我正在通过 super 账本结构V1.0。需要知道 super 账本的内部。

1)如何在内部以及在 super 账本中保存区块和交易的位置。

2)是否在NoSQL DB(级别DB,Couch DB)中?如果是,保存的方式是什么结构??。

3)在哪里可以找到V1.0的端到端设置文档(包括CA,结构,订购者设置。目前,我正在跟踪链接,该链接正在更新。

https://hyperledger-fabric.readthedocs.io/

最佳答案

对于以下所有代码引用,请使用the fabric git repo作为指导。 (S/O阻止我发布两个以上的链接,因此我无法直接链接到代码片段。)

首先,将交易收集到订购服务中的块/批次中。当满足BatchSize或经过BatchTimeout时(如果是非空块),将剪切块。

引用:
configtx.yaml目录中的

  • common/configtx/tool/,以获取有关切块标准的更多信息。
  • Block中的protos/common/common.proto类型定义。

  • 这些块与LevelDB一起在本地存储在每个订购服务节点上的磁盘上,以按编号对这些块进行索引-请参见orderer/ledger/file

    然后将这些块(通过订购服务的Deliver RPC)交付给提交对等方。他们将它们存储在本地,并维护基于LevelDB的块索引(类似于订购者的索引),基于LevelDB的历史索引以跟踪区块链上每个 key 的历史记录,以及维护状态数据库的最新值的状态数据库。区块链上的所有 key 。此状态数据库可以基于LevelDB或CouchDB。有关更多信息,请参见the ledger doc

    PS:问题#3无关紧要,应该将其分解为一个单独的线程。

    10-06 10:29