文章是本人学习过程翻译,原文来自官方文档:https://web3j.readthedocs.io/en/latest/#
官网:https://web3j.io/
官方GitHub:https://github.com/web3j/web3j
官方demo:https://github.com/web3j/web3j/tree/master/integration-tests
文档版本v3.4.0。
过滤器和事件(Filters and Events)
过滤器提供发生在Ethereum网络的事件通知。在Ethereum支持三个类型的过滤器:
- 区块过滤器(Block filters) - 创建区块时通知
- 等待交易过滤器(Pending transaction filters) - 创建交易时通知
- 索引过滤器(Topic filters) - 基于特定条件创建过滤器
区块和交易过滤器(Block and transaction filters)
订阅所有新加入区块链的区块
Subscription subscription = web3j.blockObservable(false).subscribe(block -> {
...
});
订阅所有新加入区块链的交易
Subscription subscription = web3j.transactionObservable().subscribe(tx -> {
...
});
订阅所有区块链网络上pending状态的交易
Subscription subscription = web3j.pendingTransactionObservable().subscribe(tx -> {
...
});
关闭订阅
subscription.unsubscribe();
详细信息请参考 Web3jRx