首页 文章

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

提问于
浏览
2

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

2 回答

  • 0

    虽然链码在安装在同一个通道上时共享相同的分类帐(并且业务网络只是链码,这也适用于它们) . Fabric仍然通过它的chaincode id分区链码可以读/写的数据 . 因此,当您将2个业务网络安装到同一个通道上时,它们将具有不同的链代码ID,因此它们的数据将被单独分区 .

    正如在另一个答案中提到的那样(尽管链接不太正确),您可以做的是利用composer的一个功能,以便能够在执行的业务网络中的相同甚至不同的通道上调用另一个业务网络 . 由于2个业务网络位于同一个通道上,因此您不仅可以读取信息,还可以调用可以更改信息的事务 . (如果业务网络位于不同的通道,则只能读取信息) .

    本教程的正确链接在这里https://hyperledger.github.io/composer/latest/tutorials/invoke-composer-network不幸的是,本教程是相当基础的,只提供了如何与其他业务网络进行交互的一瞥 .

  • 2

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

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

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

相关问题