我有一个基于 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/