java - Hyperledger Java SDK 客户端事件监听器

标签 java sdk client event-listener hyperledger

我有一个基于 Java SDK 的 Hyperledger fabric 客户端,能够连接和发送交易建议请求,在账本中创建条目并查询账本。

我正在努力注册和收听 BLOCK 和 CHAINCODE 事件。我想在客户端上启动一个单独的线程,专门用于监听和处理这些事件。

到目前为止我发现了什么:

HFClient client = HFClient.createNewInstance();
Channel channel = client.newChannel("channel01");
EventHub eventHub = client.newEventHub("eh01", "grpc://abc.xyz.us:7053");
channel.addEventHub(eventHub);

除此之外,我迷路了。 有人可以张贴如何执行此操作的示例吗?

最佳答案

添加事件中心后,您需要为该事件注册监听器。请参阅下面的示例。

        BlockListener blockListener = new BlockListener() {         
        @Override
        public void received(BlockEvent arg0) {
            Block block = arg0.getBlock();

            System.out.println("BLock All FIelds :" + block.getAllFields());
            System.out.println("BLock Number :" + arg0.getBlockNumber());               

            System.out.println("THis is buyer Listener..");
        }
    };

    channel.registerBlockListener(blockListener);

无论您将在received 方法中写入什么,只要将 block 添加到区 block 链,就会调用该方法。 希望这对您有所帮助。

关于java - Hyperledger Java SDK 客户端事件监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49702572/

相关文章:

java - 创建模板布局文件并动态添加值以将其添加到首选项中

tfs - 是否可以使用 TFS SDK 来创建、排队和跟踪构建?

iphone - 启动带有视频的 Youtube 应用程序

android - 从 C 服务器发送结构到 java (android) 客户端

java - 当公共(public)方法具有私有(private)方法依赖性时如何测试公共(public)方法

java - java中的反射

javascript - 在 JavaScript 中播放字符串中的音频文件

client - 为什么我无法读取服务器文件中的多个字符串?

java - 中断 future 如何与单线程执行器一起工作?

objective-c - 使用 isEqualToString 时访问错误