首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >2通道间通信

2通道间通信
EN

Stack Overflow用户
提问于 2019-04-09 10:22:55
回答 1查看 113关注 0票数 0

你好,超级分类账社区,

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

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

Org1和Org3是转售商,Org2是发货人。

Org2通过通道2-1与Org1通信,Org2通过信道2-3与Org3通信.但是Org1和Org3不能互相沟通,因为他们没有共享任何业务。

但是Org2希望将所有这些信息保存在一个也是唯一的分类账上,因为它总是只查看一个分类账而不是两个不同的分类账就可以更容易地处理它的数据。

那么,当Org2在信道2-1和2-3上接收或创建事务时,是否有一种方法可以让Org2只为自己创建一个通道,并在其上自动创建事务呢?

例如,假设Org1通过2-1频道订购了20辆汽车(id #A 1598),Org3通过2-3频道订购了2吨土豆(id #B 502)。有没有办法让第二频道也能自动获取这些数据?因此,如果有一天出现问题,那么事务也会与所有可以指导Org2在通道2-1上检查事务的引用一起写入。

当Org2为所有事务请求Channel2时,会出现这样的情况:

代码语言:javascript
运行
复制
[{
    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$'
}]
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-10 18:26:09

对在一个通道中执行的事务进行自动反应,并在另一个通道中执行一些操作,是事件的一个很好的用例。

ChainCode示例:

代码语言:javascript
运行
复制
eventPayload := "Order requested by Org1" + someOtherPayload
payloadAsBytes := []byte(eventPayload)
stub.SetEvent("Order requested", payloadAsBytes)

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

例如,假设Org1通过2-1频道订购了20辆汽车(id #A 1598),Org3通过2-3频道订购了2吨土豆(id #B 502)。有没有办法让第二频道也能自动获取这些数据?

当org1 (经销商)订购20辆汽车时,它会在该事件上在链码(例如上面的"order requested")中发出一个事件,您可以通过您的后端的org2用户收听该频道的注册成员。当org3创建订单时,也会发出一个事件("order“)。现在,org2的注册用户也可以使用org1访问信道,可以在这个通道上询问新事务是否超过了一天的限制,并可以作出相应的反应。

例如,请参阅本教程中的节点。或者只需搜索适当的教程,为您的编程语言提供服务。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55590557

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档