2个频道之间的通信

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

Hello Hyperledger社区,

所以我用Hyperledger Fabric测试了一些东西,我想知道2个频道是否有可能在某种程度上共享信息。

例如,假设我们有3个组织Org1,Org2和Org3。

Org1和Org3是经销商,Org2是托运人。

Org2通过通道2-1与Org1通信,Org2通过通道2-3与Org3通信。但Org1和Org3无法相互通信,因为它们不共享任何业务。

但Org2希望将所有这些信息保存在一个且只有一个分类账上,因为通过查看一个分类账而不是一直查看一个分类账,它更容易处理它的数据。

因此,当Org2在第2-1和第2-3频道接收或创建交易时,Org2是否有办法为其自身设置频道,频道2并在其上自动创建交易?

例如,假设Org1通过第2-1频道订购了20辆汽车(ID#A1598),Org3通过2-3频道订购了2吨土豆(ID#B502)。通道2是否有办法自动获取这些数据?因此,如果有一天出现问题,那么交易也会写在其上,所有引用都可以指导Org2检查通道2-1上的交易。

当Org2为所有交易请求Channel2时,会出现类似的情况:

[{
    id: 'A1598',
    channel: '2-1',
    org: 'Org1',
    details: '20 cars',
    price: 'xxxxx$'
},
{
    id: 'B502',
    channel: '2-3',
    org: 'Org3',
    details: '2 tons of potatoes',
    price: 'xxxxx$'
}]
hyperledger-fabric hyperledger
1个回答
0
投票

自动响应在一个通道中完成的事务并在另一个通道中执行某些操作是事件的一个很好的用例。

ChainCode示例:

eventPayload := "Order requested by Org1" + someOtherPayload
payloadAsBytes := []byte(eventPayload)
stub.SetEvent("Order requested", payloadAsBytes)

所以将它投射到你的例子中:

例如,假设Org1通过第2-1频道订购了20辆汽车(ID#A1598),Org3通过2-3频道订购了2吨土豆(ID#B502)。通道2是否有办法自动获取这些数据?

当org1(经销商)订购20辆汽车时,它会在此活动中发出链码中的事件(例如,在“请求订单”之上),您可以通过后端的org2用户收听此频道的注册成员。当现在org3创建订单时,还会发出一个事件(“请求订单”)。现在,org2的注册用户也可以通过org1访问频道,可以在此频道上询问新事务是否超出当天的限制并且可以做出相应的反应。

例如,参见node的教程。或者只是搜索适合您的编程语言的教程。

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