Hyperledger fabric Hyperledger结构:世界各国、频道和;“超级分类账管理器”;vs";hyperledger作曲家史学家“;

Hyperledger fabric Hyperledger结构:世界各国、频道和;“超级分类账管理器”;vs";hyperledger作曲家史学家“;,hyperledger-fabric,hyperledger-composer,Hyperledger Fabric,Hyperledger Composer,我有几个关于Hyperledger Fabric的问题,我在文档中没有找到明确的答案 1.)世界国家 分类账由区块链(包含交易)和世界状态(存储在数据库中)组成。每一笔交易都永远存储在区块链中。此外,数据库似乎不仅存储键/变量的当前值,而且还存储过去的版本(参见文档中的下图): 那么,我的理解是否正确,即分类账不仅保存所有交易,而且保存所有曾经存在的世界状态? 如果是,为什么要将所有状态从状态0保存到当前状态?为什么不保存a)所有事务和b)仅保存当前世界状态?这还不够吗

我有几个关于Hyperledger Fabric的问题,我在文档中没有找到明确的答案

1.)世界国家

分类账由区块链(包含交易)和世界状态(存储在数据库中)组成。每一笔交易都永远存储在区块链中。此外,数据库似乎不仅存储键/变量的当前值,而且还存储过去的版本(参见文档中的下图):

那么,我的理解是否正确,即分类账不仅保存所有交易,而且保存所有曾经存在的世界状态? 如果是,为什么要将所有状态从状态0保存到当前状态?为什么不保存a)所有事务和b)仅保存当前世界状态?这还不够吗

                    ****************************
2)频道与世界状态

假设我有一个Hyperledger Fabric应用程序,不同的成员可以对彼此的个人资料图片进行评论

进一步假设有三个成员(“组织”):亚当、鲍勃和莎拉

此外,亚当和鲍勃之间还有一条通道。亚当和莎拉之间还有第二个频道

显然,这意味着

  • 莎拉看不到亚当和鲍勃之间的交易
  • Adam和Sarah之间的交易对Bob不可见
假设有一个名为“addCommentToProfile”的事务,可用于向其他配置文件添加注释

假设Sarah发送事务“addCommentToProfile”,在Adam的个人资料中添加评论“你的头发看起来很好!”

显然,Bob看不到该事务(因为它只是Adam和Sarah之间通道的一部分)

但交易的结果(亚当个人资料上的一条新评论“你的头发看起来很好!”也不可见吗

换言之,鉴于亚当参与了两个不同的渠道——亚当是否也有两个不同的世界状态——一个对鲍勃可见,另一个对莎拉可见

                 ****************************
3.“Hyperledger Explorer”与“Hyperledger Composer Historian”

有“Hyperledger Composer Historian”()和“Hyperledger Explorer”()

它们是否相同(即,如果使用Hyperledger Composer框架,“Hyperledger Explorer”简称为“Hyperledger Composer Historian”)?或者它们是两种不同的东西? 如果它们是不同的东西:如何防止业务网络的参与者访问“Hyperledger Explorer”记录?

1。)世界状态-状态数据库不包含历史记录,尽管有版本号,但状态数据库中只存储当前版本

2.频道-频道是完全独立的,因此在您的示例中,Adam有两个配置文件,每个频道一个。您的链码(智能合约)将在每个通道上单独安装和实例化

3.作曲家和探索者-完全不同。 Composer构建在Fabric之上,用于从底层Fabric创建抽象级别,并创建简化的编程模型。然后,Composer添加了一个Historian功能,以简化审计

您应该知道,Composer的主要代码贡献者(IBM)已决定显著减少Composer的开发工作量,并将重点放在通过Fabric Node SDK改善开发人员体验上。更多因此,如果您正在计划短期内的快速POC或演示,Composer非常有帮助,但如果您正在查看一个重要的正在进行的开发项目,您可能需要仔细考虑

如果您选择不使用Composer,历史记录是区块链的关键功能,并且原生结构编程模型允许您访问对象的历史记录,但它不像Composer中的Historian功能那么简单


HyperledgerExplorer是Hyperledger结构的友好查看器(现在可以通过REST API调用事务)。

非常感谢您的回答。。。这是非常重要的信息要知道。。。从这个问题和给出的答案中出现了一个后续问题。。。我在这里为这个后续问题创建了一个新帖子:。。。如果你也知道这个后续问题的答案,请随意回答。