Java 如何使用HLF中的事件通知客户端块提交和/或事务状态?

Java 如何使用HLF中的事件通知客户端块提交和/或事务状态?,java,hyperledger-fabric,blockchain,event-listener,hyperledger-chaincode,Java,Hyperledger Fabric,Blockchain,Event Listener,Hyperledger Chaincode,我正在处理一个需要通知任何给定区块链交易状态的客户。为此,我正在学习如何利用事件来实现这一目标。我试图参考HLF1.4(已找到)中有关事件的官方文档,但指向SDK文档的链接已失效。我还发现,但提供的链接都死了 然后我遇到了Fabric网关实现(前面提到过),我发现它构成了这个问题的基础 我当前的临时代码如下所示: BlockEventSourceFactory factory = BlockEventSourceFactory.getInstance(); BlockEventSource b

我正在处理一个需要通知任何给定区块链交易状态的客户。为此,我正在学习如何利用事件来实现这一目标。我试图参考HLF1.4(已找到)中有关事件的官方文档,但指向SDK文档的链接已失效。我还发现,但提供的链接都死了

然后我遇到了Fabric网关实现(前面提到过),我发现它构成了这个问题的基础


我当前的临时代码如下所示:

BlockEventSourceFactory factory = BlockEventSourceFactory.getInstance();
BlockEventSource blockEventSource = factory.newBlockEventSource(channel);
blockEventSource.addBlockListener(blockEvent -> {
    System.out.println("[zzzzz] Block number is " + blockEvent.getBlockNumber());
});
channel.sendTransaction(responses);
blockEventSource.close();
在我的Java链码中,我调用
stub.setEvent(“myEventName”,null)
来设置事件

问题是,我没有看到我的调试输出,我也不确定我做错了什么,所以如果有人能告诉我正确的参考资料,和/或帮助我以某种方式使上述代码工作,我将不胜感激



(如果有任何其他信息我应该提供,请通过评论让我知道,我将在这里添加它们。)

要使用高级网关SDK,您需要首先创建网关对象,然后从中获取网络对象(使用示例代码作为开始)。从网络对象中,可以调用传入使用者函数。然后,当您在合同对象上调用submitTransaction时,您的侦听器应该被调用


就测试而言,您最好查看场景测试代码,并查看使用示例。

要使用高级网关SDK,您需要首先创建网关对象,然后从中获取网络对象(使用示例代码作为开始)。从网络对象中,可以调用传入使用者函数。然后,当您在合同对象上调用submitTransaction时,您的侦听器应该被调用

在测试方面,您最好查看场景测试代码,以及使用示例

我试图参考HLF1.4中关于事件的官方文档(在这里找到),但是SDK文档的链接已经失效。我也发现了这个问题,但提供的链接也都死了

我登记了。我发现有三个关于事件的教程可以帮助你解决问题。他们是,而且是

  • 提供一个标题为“事件处理策略”的特殊部分
  • 提供了一种重播对等方发出的错过事件的方法,还提供了emmited事件的概述
  • 还包含一节讨论事件。它还对三种不同类型的事件进行了解释
  • 我希望这三个文件能帮助你解决问题,掌握HLF

    奖金: 织物社区是令人惊奇的。确保加入此功能或检查其他功能(请参阅聊天部分)

    我试图参考HLF1.4中关于事件的官方文档(在这里找到),但是SDK文档的链接已经失效。我也发现了这个问题,但提供的链接也都死了

    我登记了。我发现有三个关于事件的教程可以帮助你解决问题。他们是,而且是

  • 提供一个标题为“事件处理策略”的特殊部分
  • 提供了一种重播对等方发出的错过事件的方法,还提供了emmited事件的概述
  • 还包含一节讨论事件。它还对三种不同类型的事件进行了解释
  • 我希望这三个文件能帮助你解决问题,掌握HLF

    奖金: 织物社区是令人惊奇的。确保加入此功能或检查其他功能(请参阅聊天部分)