我想知道如何从光纤网络的链码发送通知。
我想做的是,每当新交易成功提交到分类账时,都会向外部旧系统发送通知。
为此,我考虑了两种不同的方式:
您对这两种方法有何考虑? 你有什么建议吗?
答案 0 :(得分:0)
HTTP请求
是的,这是可能的,但绝对不建议这样做。链码用于认可交易建议,但是一个同伴对交易建议的认可并不一定意味着交易本身将被提交。从链码执行发送请求还为时过早。您可以阅读有关交易流here和here
的更多信息此外,链码不一定必须(也不应该)仅在一个同位体上执行。如果您从链码中发送请求,并且有10个对等节点执行链码,那么将有10个请求发送到旧系统。
事件
您可以在链码中设置自定义事件,但是您不需要它们,因为每个sdk支持事务承诺通知。虽然我知道将sdk嵌入到旧服务中是不合理的,但是sdk很有可能是您监听事件的最佳位置。
对等频道事件服务
从1.3开始,对等方将具有特定的channel event service。由于我尚未使用过它,因此我将不再赘述,我假设如果您的旧系统无法集成sdk,则它很可能将不支持针对对等服务进行grpc调用。
解决方案
您可能需要将HTTP请求和事件解决方案结合在一起。有一个单独的服务使用sdk发送交易建议并监听交易承诺的通知。提交事务后,请使用此服务将请求发送到旧系统的端点。