建议和反馈

请填写你的反馈内容

问答 > 以太坊 > 问答详情

如何在调用链代码时通知客户端应用程序?10LK

调用链代码时,是否有办法调用REST API(外部),以便可以在新事务上通知客户端应用程序。

除了REST,还有其他选择吗?


2019-09-10
0
请先登陆或注册

heart2019-09-11

通过监听event事件

投一票
评论(0)
赞赏(0)
区块技术花2019-09-10

为了增加区块链社区的答案,有3种类型的事件。

  1. BLOCK EVENT,在分类帐更改时创建。

  2. 拒绝事件,在发生任何错误时创建(在用户链代码或系统链代码中)

  3. CHAINCODE EVENT,它是用户句柄,允许用户链代码创建事件。[我注意到奇怪的是,根据当前设计,每次调用只允许一个CHAINCODE EVENT]

您可以在您的端部运行事件监听器/客户端,监听gRPC端口,(您可以从core.yaml文件获取端口)或者您甚至可以参考Sergey提到的示例。

在你的情况下,我猜你正在寻找一个成功的交易。在这种情况下,您应该听BLOCK事件和REJECTION事件触发调用时收到的事务UUID可用于扫描事件并在匹配时触发操作。另请注意,如果事务导致REJECTION EVENT,那么它将没有BLOCK EVENT。希望这可以帮助。


投一票
评论(0)
赞赏(0)
区块链社区2019-09-10

最好使用事件 https://github.com/hyperledger/fabric/blob/master/docs/protocol-spec.md#35-events

验证对等体和链代码可以在网络上发出应用程序可以监听并采取操作的事件。有一组预定义的事件,链式代码可以生成自定义事件。事件由一个或多个事件适配器使用。适配器可以使用其他车辆(例如Web挂钩或Kafka)进一步提供事件。

应用程序可以从Fabric订阅事件流,并侦听链代码生成的消息。

有关如何使用事件的示例,请访问:https//github.com/hyperledger/fabric/tree/master/examples/events/block-listener


投一票
评论(0)
赞赏(0)

求助中

解决了这个问题,预计可以帮助到

  • 0
  • 1
  • 0
  • 7
  • 7
邀请

感谢您的善举,每一次解答会成为新人的灯塔,回答被采纳后获得20算力和相应的LK币奖励