Hyperledger Composer - 参与者和同行

问题描述 投票:4回答:1

我最近开始尝试掌握Hyperledger Composer的概念。

根据我的理解,Hyperledger Composer只是Hyperledger Fabric上的一个层,旨在简化工作的方式。当我试图理解参与者(作曲家术语)和同伴(织物术语)之间的区别时,出现了混乱。基于前者的定义,我理解参与者是区块链网络(例如汽车制造商,汽车买家)的某种客户,其具有用户界面并通过REST api与区块链交互。另一方面,对等体是网络中的实际节点。直观地,这些概念似乎彼此相关,在某种意义上,组织(参与者)需要联系网络中的每个自己的节点(对等体),其中该对等体在网络中具有特定的读/写权限。

在他们的示例网络中,他们使用默认网络配置(crypto-config.yaml),其中他们定义了一个单独的对等体。但是,我可以创建不同类型的参与者,网络中只有一个对等体。此外,为整个网络生成单个REST API。

对于双方网络(例如汽车制造商和汽车质量保证人员),我有2个参与者(ui客户),2个同行(一个具有读/写权限,一个具有读取权限)只有权利)和2个REST API(一个用于汽车制造商,另一个用于汽车制造商)。但是,这似乎并不是Composer的工作原理。

1)我的理解是,不同类型的参与者需要在网络中拥有自己的同伴吗?

2)为什么他们生成一个REST api,包括网络中每个参与者的方法,而不是多个,以便不同的客户可以使用不同的权限?

hyperledger-fabric hyperledger hyperledger-composer
1个回答
1
投票

首先回答你的问题:

1)你的描述

我知道参与者是区块链网络(例如汽车制造商,汽车买家)的某种客户,他们拥有用户界面并通过REST api与区块链交互。另一方面,对等体是网络中的实际节点。

确实是正确的,这就是我在多个项目中使用Composer超过半年后的理解。但是,声明说

不同类型的参与者需要在网络中拥有自己的同伴

不太正确。正如您所说的那样,Composer是Fabric的抽象,旨在显着简化Fabric上的原型开发。结果,Fabric中的一些细微差别就丢失了。例如,如果你想运行支持多个通道的Composer(在Fabric意义上),那就非常复杂了。

在参与者与同龄人的情况下,他们完全不同,几乎没有任何关系。对等体属于Fabric世界,它们负责运行Fabric区块链基础设施。在基本教程中(对于也在Composer中使用的Fabric),整个Fabric网络中只有一个对等体。运行Fabric网络后,您可以使用Composer根据需要建模和部署业务网络。请注意Fabric网络和业务网络之间的区别。 Fabric网络是指使用Fabric构建的底层区块链基础架构,而业务网络是使用Composer构建的模型。参与者居住在使用Composer建模和部署的业务网络中,而同行是运行区块链基础设施的骨干。因此,两者之间的关联性很弱,因为如果没有同行,你就根本就没有任何商业网络。但是,一旦您运行了网络,参与者几乎完全独立于Fabric对等体。

2)您最有可能生成一个REST API,因为教程的措辞如此。如果您还记得,当您启动REST API时,您需要指定一个业务网卡。因此,业务网卡的每个所有者都可以很好地运行自己的REST API。实际上,您将为业务网络中的每个参与者颁发身份和业务网卡。每个参与者将具有您在建模业务网络时创建的访问控制授予的不同权限(请记住这些访问控制是用ACL编写的)。因此,即使每个参与者和每个REST API都可以看到所有可用的方法,但它们也无法调用它们不应该调用的方法。当然,您必须在ACL中正确建模访问控制策略。


以下是我对Composer的一些看法。

Hyperledger Composer只是Hyperledger Fabric上的一个层,旨在简化工作的方式。

这确实是事实,但遗憾的是他们将放弃对Composer的支持。 (请参阅作者的this update)因此,建议不要在Composer上运行生产软件。但是,我个人发现使用Composer创建原型(具有良好的UI)非常容易和快速,我个人会继续使用它作为原型,尽管它被弃用仅仅因为它非常容易使用并且没有重大问题。

© www.soinside.com 2019 - 2024. All rights reserved.