赞
踩
web3j的响应式函数可以使观察者通过事件去通知消息订阅者变得很简单,并能够记录在区块链中。接收所有新的区块并把它们添加到区块链中:
- Subscription subscription = web3j.blockObservable(false).subscribe(block -> {
- ...
- });
接收所有新的交易并把它们添加到区块链中:
- Subscription subscription = web3j.transactionObservable().subscribe(tx -> {
- ...
- });
接收所有已经提交到网络中等待处理的交易。(他们被统一的分配到一个区块之前。)
- Subscription subscription = web3j.pendingTransactionObservable().subscribe(tx -> {
- ...
- });
或者你重置所有的区块到最新的位置,那么当有新建区块的时候会通知你。
- Subscription subscription = catchUpToLatestAndSubscribeToNewBlocksObservable(
- <startBlockNumber>, <fullTxObjects>)
- .subscribe(block -> {
- ...
- });
主题过滤也被支持:
- EthFilter filter = new EthFilter(DefaultBlockParameterName.EARLIEST,
- DefaultBlockParameterName.LATEST, <contract-address>)
- .addSingleTopic(...)|.addOptionalTopics(..., ...)|...;
- web3j.ethLogObservable(filter).subscribe(log -> {
- ...
- });
当不再需要时,订阅也应该被取消:
subscription.unsubscribe();
注意:Infura中不支持filters。
需要了解更多有关过滤器和事件的信息可以查看Filters and Events和Web3jRx的接口。
java8 bulid:
在java 8的Android版本:
Response.getResult()
获取字符串类型的数量结果。includeRawResponse
参数将原生的JSON包放置在响应中。Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。