当调用链代码时,是否有办法调用REST API(外部),以便可以在新事务上通知客户端应用程序。
除了REST之外,还有其他选择吗?
答案 0 :(得分:2)
使用事件会更好 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
答案 1 :(得分:1)
要添加到谢尔盖的答案,有3种类型的事件。
您可以在您的端部运行事件监听器/客户端,监听gRPC端口,(您可以从core.yaml文件获取端口)或者您甚至可以参考Sergey提到的示例。
在您的情况下,我猜您正在寻找成功的交易。在这种情况下,您应该听 BLOCK事件和REJECTION事件。触发调用时收到的事务UUID可用于扫描事件并在匹配时触发操作。 另请注意,如果事务导致REJECTION EVENT,那么它将没有BLOCK EVENT。 希望这可以帮助。