以太坊web3j监听块监听交易/**
* filter相关
* 监听区块、交易
* 所有监听都在Web3jRx中
*/
public class Filter {恨透爱情恨透你
private static Web3j web3j;
public static void main(String[] args){
web3j = Web3j.build(new HttpService(Environment.RPC_URL));
/**
如何吸引女生
* 新区块监听
*/
newBlockFilter(web3j);
/**
* 新交易监听
*/
newTransactionFilter(web3j);
/**
* 遍历旧区块、交易
*/
replayFilter(web3j);
/**
* 从某⼀区块开始直到最新区块、交易
*/
catchUpFilter(web3j);
/**
* 取消监听
*/
//subscription.unsubscribe();
}
private static void newBlockFilter(Web3j web3j){
Subscription subscription = web3j.
blockObrvable(fal).
subscribe(block ->{
System.out.println("new block come in");
System.out.println("block number"+ Block().getNumber());
});
}洋务运动的本质
private static void newTransactionFilter(Web3j web3j){
Subscription subscription = web3j.
transactionObrvable().
subscribe(transaction ->{
System.out.println("transaction come in");
System.out.println("transaction txHash "+ Hash());
});
}
private static void replayFilter(Web3j web3j){
BigInteger startBlock = BigInteger.valueOf(2000000);
BigInteger endBlock = BigInteger.valueOf(2010000);
/**
* 遍历旧区块
*/
Subscription subscription = web3j.
replayBlocksObrvable(
DefaultBlockParameter.valueOf(startBlock),
DefaultBlockParameter.valueOf(endBlock),
fal).
subscribe(ethBlock ->{
System.out.println("replay block");
System.out.Block().getNumber());
});
/**
* 遍历旧交易
*/
Subscription subscription1 = web3j.
replayTransactionsObrvable(
黑豆浆的做法
DefaultBlockParameter.valueOf(startBlock),
DefaultBlockParameter.valueOf(endBlock)).
subscribe(transaction ->{
鼓刀
System.out.println("replay transaction");
System.out.println("txHash "+ Hash());
论文评价
});
}
private static void catchUpFilter(Web3j web3j){
BigInteger startBlock = BigInteger.valueOf(2000000);
/**
心情低落的图片* 遍历旧区块,监听新区块
*/
Subscription subscription = web3j.catchUpToLatestAndSubscribeToNewBlocksObrvable(
DefaultBlockParameter.valueOf(startBlock),fal)
.subscribe(block ->{
System.out.println("block");
弟子规带拼音全文
System.out.Block().getNumber());
});
/**
* 遍历旧交易,监听新交易
*/
Subscription subscription2 = web3j.catchUpToLatestAndSubscribeToNewTransactionsObrvable( DefaultBlockParameter.valueOf(startBlock))
.subscribe(tx ->{
System.out.println("transaction");
System.out.Hash());
});
}
}