Hyperledger Fabric-从链码发送通知

时间:2018-10-04 10:26:52

标签: hyperledger-fabric hyperledger

我想知道如何从光纤网络的链码发送通知。

我想做的是,每当新交易成功提交到分类账时,都会向外部旧系统发送通知。

为此,我考虑了两种不同的方式:

  1. HTTP请求-可以直接从以下位置执行http请求 链码?如果是,是否可以将http请求发送到 旧系统的端点通知交易?
  2. 事件-我了解可以创建 链码中的事件。可以不听这些事件 使用Fabric SDK(我无法在旧版中集成SDK 系统)?

您对这两种方法有何考虑? 你有什么建议吗?

1 个答案:

答案 0 :(得分:0)

HTTP请求

是的,这是可能的,但绝对不建议这样做。链码用于认可交易建议,但是一个同伴对交易建议的认可并不一定意味着交易本身将被提交。从链码执行发送请求还为时过早。您可以阅读有关交易流herehere

的更多信息

此外,链码不一定必须(也不应该)仅在一个同位体上执行。如果您从链码中发送请求,并且有10个对等节点执行链码,那么将有10个请求发送到旧系统。

事件

您可以在链码中设置自定义事件,但是您不需要它们,因为每个sdk支持事务承诺通知。虽然我知道将sdk嵌入到旧服务中是不合理的,但是sdk很有可能是您监听事件的最佳位置。

对等频道事件服务

从1.3开始,对等方将具有特定的channel event service。由于我尚未使用过它,因此我将不再赘述,我假设如果您的旧系统无法集成sdk,则它很可能将不支持针对对等服务进行grpc调用。

解决方案

您可能需要将HTTP请求和事件解决方案结合在一起。有一个单独的服务使用sdk发送交易建议并监听交易承诺的通知。提交事务后,请使用此服务将请求发送到旧系统的端点。