如何在单通道Hyperledger Fabric的两个链码之间共享数据?

时间:2018-07-09 19:58:45

标签: hyperledger-fabric hyperledger hyperledger-composer

我已经开始学习Hyperledger Fabric和Composer。我能够使用Composer创建一个简单的业务网络并将其部署在Fabric上,但是我有一个问题。假设我有2个BNA(在单个通道上实例化)文件,它们具有相同的名称空间(org.example)和相同的参与者名称,以及Customer(标识符将为org.example.Customer)。有什么方法可以访问由另一个Business Network App中的第一个Business Network App创建的参与者?从逻辑上讲,我可以想到的是,由于两者都已在同一通道中使用不同的链码和相同的模型文件实例化,因此数据应该可以交叉访问。但这不是。

2 个答案:

答案 0 :(得分:2)

尽管链码安装在同一通道上时共享相同的分类帐(并且由于商业网络只是链码,这也适用于它们)。 Fabric仍通过链码ID对链码可以读取/写入的数据进行分区。因此,当您在同一通道上安装2个业务网络时,它们将具有不同的链码ID,因此它们的数据将被单独分区。

如另一个答案中所述(尽管链接不是很正确),您可以做的是利用作曲家的功能,以能够在与执行业务相同或什至不同的渠道上调用另一个业务网络。网络。 由于两个业务网络位于同一通道上,因此您不仅可以读取信息,还可以调用可以更改信息的事务。 (如果业务网络位于不同的渠道,则只能读取信息)。

此处是本教程的正确链接 https://hyperledger.github.io/composer/latest/tutorials/invoke-composer-network 不幸的是,本教程是非常基础的,仅简要介绍了如何与其他业务网络进行交互。

答案 1 :(得分:0)

有一个有关如何从bna到另一个进行交互的教程。

这里是Hyperledger Composer官方文档的链接。

https://hyperledger.github.io/composer/latest/tutorials/invoke-composer-network