超级数据库中的数据存储

问题描述 投票:2回答:3

我已经开始学习hyperledger了。通过使用composer playground创建示例应用程序,熟悉它。我怀疑是否使用hyperledger进行分散存储。我已经阅读了一些提到的文档:

  • 在区块链中保存数据的哈希以确保不变性。
  • 通过base64字符串将图像保存在区块链中(作为资产)。

有些事情很清楚,但很大一部分仍然不确定。他们是 :

  • 区块链中存储的数据在哪里?是在couchdb吗?
  • 假设数据存储在couchdb中,并通过multipeer将新对等体添加到通道中,那么这是否意味着同伴的所有couchdb都会同步?

任何提及有区块链,分散存储等数据存储的资源/教程都会非常有用。

谢谢!

hyperledger-fabric hyperledger blockchain ibm-blockchain
3个回答
4
投票

区块链数据(也称为分类帐)存储为物理文件。它包含链接块,每个块由一组事务组成。每个州的变化都存储在那里。

相比之下,世界状态仅包含每个资产的当前状态,因为这是应用程序所需要的。

世界状态是作为一个数据库实现的,couchdb是一个很好的选择,有一个更简单的可用,但是在查询功能方面提供的更少。

当然,这意味着可以在任何时间点从分类账中轻松地重建世界状态。

当一个新的对等体被添加到一个频道时,它自己的世界状态就是从分类账中创建的。

一个很好的阅读描述所有这一切在这里:https://hyperledger-fabric.readthedocs.io/en/release-1.3/ledger/ledger.html


2
投票

为了进一步澄清,分类帐并不真正存储业务对象,但它存储有关这些对象的重要信息/事实 - 因此这些重要事实的历史记录在分类帐中,并且此重要事实的当前值处于世界状态。因此实际对象(关于哪些事实存储在分类帐和世界状态中的一个存在于外部数据存储中 - 可以称为“脱链”数据。但是我们存储在分类帐中的信息使我们能够了解有关它的事实并找到它。希望这可以帮助。


0
投票
  1. 数据存储在区块链中,即区块链。 Couchdb只保存状态,可以从分类帐刷新。 Couchdb有助于更快地查询区块链数据。
  2. 是的,通过闲聊,所有同伴都将拥有相同的块。 Couchdb只是从分类帐中读取数据并为自己创建状态。
© www.soinside.com 2019 - 2024. All rights reserved.