Hyperledger fabric 多通道多组织hyperledger结构

Hyperledger fabric 多通道多组织hyperledger结构,hyperledger-fabric,blockchain,hyperledger-composer,Hyperledger Fabric,Blockchain,Hyperledger Composer,我正在做一个电子健康记录超级分类账结构网络。假设我的网络有两家医院,这些医院需要彼此共享患者信息等信息,并在分类账上注册。我已经创建了三个通道channel1,其中有hospital1的对等点,channel2有hospital2的对等点,另一个通道有两个组织的对等点。这样,员工详细信息等信息就不会保存在其他组织的同事身上。我的设置正确吗?还是需要进行更改?我如何将患者记录共享给医院2 在技术方面,你是对的。只有通道3将提供通用的“数据共享”。 在架构方面,通道1和通道2的用途是什么?数据将仅由

我正在做一个电子健康记录超级分类账结构网络。假设我的网络有两家医院,这些医院需要彼此共享患者信息等信息,并在分类账上注册。我已经创建了三个通道channel1,其中有hospital1的对等点,channel2有hospital2的对等点,另一个通道有两个组织的对等点。这样,员工详细信息等信息就不会保存在其他组织的同事身上。我的设置正确吗?还是需要进行更改?我如何将患者记录共享给医院2

在技术方面,你是对的。只有通道3将提供通用的“数据共享”。 在架构方面,通道1和通道2的用途是什么?数据将仅由1家机构(1家医院)写入和读取。因此,一个更“经典”的数据库就可以完成这项工作


如果您希望在两家医院之间共享患者数据,则需要在通道3的所有对等方上安装链码,然后对其进行实例化。在这个链码中,您应该有一个调用函数,它将新的患者密钥/值放入分类账。

是的,我知道在这里使用区块链是不相关的,但是可以通过公共通道上的链码从通道1读取患者信息吗。我这样做只是为了精通Hyperledger结构。是的,可以从链码内部调用另一个频道的链码。它将是一个查询事务(不可能有调用事务)。因此,您可以从公共通道的事务中读取通道1的数据,但前提是事务调用方可以访问通道1。“InvokeChaincode(chaincodeName字符串,args[][]字节,通道字符串)pb.Response”//InvokeChaincode使用//相同的事务上下文本地调用指定的chaincode
Invoke
;也就是说,调用chaincode的chaincode不会//创建新的事务消息//如果被调用的chaincode在同一个通道上,它只会将被调用的//chaincode读取集和写入集添加到调用的事务中。//如果被调用的链码位于不同的通道上,//只将响应返回给调用的链码;来自被调用链码的任何PutState调用//将不会对分类账产生任何影响;也就是说,//不同通道上被调用的链码的读取集//和写入集不会应用于事务。只有调用链码的//读取集和写入集才会应用于事务。实际上//在不同通道上调用的链码是一个
查询
,它不//参与后续提交阶段的状态验证检查。//如果
channel
为空,则假定调用者的频道为空。