hyperledger-fabric - 如何在单通道上的 Hyperledger Fabric 上的两个链码之间共享数据?
问题描述
我已经开始学习 Hyperledger Fabric 和 Composer。我可以使用 Composer 创建一个简单的业务网络并将其部署在 Fabric 上,但我有一个问题。假设我有 2 个 BNA(在单通道上实例化)文件,它们都具有相同的命名空间 ( org.example
) 并且具有相同的参与者名称,因为 Customer (标识符将是org.example.Customer
)。有什么方法可以访问由第一个业务网络应用程序在另一个业务网络应用程序中创建的参与者?从逻辑上讲,我能想到的是,由于两者都已在具有不同链代码和相同模型文件的同一通道中实例化,因此数据应该是可以交叉访问的。但事实并非如此。
解决方案
尽管链码在安装在同一通道上时共享相同的分类帐(并且由于业务网络只是链码,这也适用于它们)。Fabric 仍然通过它的链码 id 对链码可以读/写的数据进行分区。因此,当您将 2 个业务网络安装到同一通道上时,它们将具有不同的链码 id,因此它们的数据是单独分区的。
正如另一个答案中提到的(尽管链接不太正确),您可以做的是利用 composer 的功能来调用与正在执行的业务网络相同甚至不同的通道上的另一个业务网络。由于 2 个业务网络位于同一通道上,您不仅可以读取信息,还可以调用可以更改信息的事务。(如果业务网络在不同的渠道上,您只能阅读信息)。
本教程的正确链接在这里 https://hyperledger.github.io/composer/latest/tutorials/invoke-composer-network 不幸的是,本教程相当基础,仅提供了如何与其他业务网络交互的一瞥。
推荐阅读
- sql-server - 使用文本文件批量插入创建表
- javascript - 在所有异步、嵌套、$.each 数据库调用完成后做一些事情
- c# - 如何从 WPF 中的文本框中获取换行?
- r - 如何在for循环中跳过NA值
- css - 使用 Stylish 调整特定 div 类的填充宽度?
- c++ - OpenCV 2 在 inRange 期间因 stackoverflow 崩溃
- python - Python Plotly Pandas 的可视化问题?
- xml - 亚马逊 MWS Scratchpad 错误 50001 格式错误的 XML
- javascript - ReactJS - 使用 iframe 静默更新令牌
- powershell - 使用 powershell 将 zip 文件发送并提取到 azure VM