是否使用LEVELDB对Hyperledger Fabric进行状态同步?

时间:2019-08-09 14:05:00

标签: hyperledger-fabric hyperledger

阅读文档后,我了解到有两种选择来维护世界状态LEVELDB和COUCHDB。

在LevelDB的情况下,“ LevelDB是对等节点中嵌入的默认状态数据库”,我假设它是对等本地的。就像在每个对等方中运行的LevelDB的副本一样。

对于CouchDB,有一个单独的容器可以运行它,并且所有对等方都可以使用它来执行事务(所有对等方都看到相同的数据)

  1. 对于LevelDB,在第一种情况下,如何在所有同级之间同步数据版本?
  2. 这是即插即用功能吗,我可以     例如使用ETCD集群而不是CouchDB?

1 个答案:

答案 0 :(得分:0)

  1. LevelDB和CouchDB实际上是相同的。该数据库基本上用作持久性最后的知识值存储。可以随时为分类账(区块链)重建它,这实际上是通过订购服务在所有对等方之间复制的内容

编辑为了明确起见,对等方从订购者那里收到块。然后,每个对等方都会验证每个块中的事务,并且对于每个有效事务,它将更新数据库中的状态。对于LevelDB,这是嵌入式调用,对于CouchDB,对等方通过CouchDB HTTP API与CouchDB通信。当然,它还将块也写入磁盘上的分类帐文件。

  1. 这不是即插即用的功能……目前仅支持LevelDB和CouchDB。该代码库本身支持添加其他数据库,但是有人需要在实际的代码库中实现该支持。