首页 文章

将JSON文档存储在Hyperledger Fabric中

提问于
浏览
0

我需要一个私有区块链系统,在其中我将存储复杂的数据结构,如JSON文档 .

这个想法是每个事务都是一个JSON文档(可能有各种模式) .

Hyperleadger Fabric似乎非常适合,因为它可以使用CouchDB运行 . 虽然,根据我的理解(请纠正我,如果我错了),在Fabric中,CouchDB应该被用作包含区块链最新状态的状态数据库 . 此外,存储在CouchDB中的数据实际上不是区块链的一部分,这意味着它不支持拜占庭容错 . 所以我只能在可信赖的共识中使用该系统 . 如果是这种情况,那么在分布式数据库系统上使用区块链就变得无关紧要了 .

我错过了什么吗?

我可以通过事务将我的异构JSON文档存储在分类帐中以获得拜占庭容错吗?如果是这种情况,此时可以查询区块链吗?

1 回答

  • 1

    区块链分类帐由两个不同但相关的部分组成 - 世界状态和区块链 .

    首先,有一个世界状态 - 一个数据库,它保存一组分类帐状态的当前值 . 世界状态使程序可以轻松获取这些状态的当前值,而不必通过遍历整个事务日志来计算它们 . 默认情况下,Ledger状态表示为键值对,但我们稍后会看到Hyperledger Fabric在这方面提供了灵活性 . 世界状态可以经常变化,因为可以创建,更新和删除状态 .

    其次,有一个区块链 - 一个记录决定世界状态的所有变化的事务日志 . 事务在块附加到区块链中的块内收集 - 使您能够了解导致当前世界状态的更改历史记录 . 区块链数据结构与世界状态非常不同,因为一旦编写,就无法修改 . 它是一个不可变的块序列,每个块都包含一组有序事务 . click here to read more

    我们使用分类帐来获取区块链的当前状态/数据 . 如果没有分类帐,我们必须遍历每个块以获取交易日志并计算当前状态 .

    Could I store my heterogeneous JSON documents in the ledger via transactions

    是的,您可以将JSON文档存储在分类帐中并创建组合键 .

相关问题