Web3j

如何使用 web3j java API 獲取最新的塊號

  • February 12, 2020

我向網路詢問我要跟踪的地址的目前餘額。之後,我想在我的程序/伺服器開始時檢測/收聽從最新塊號開始的傳入存款。現在的問題是如何找到當時最新的區塊號?看起來 web3js(java 腳本)中有一個 API,但 web3j(java)中沒有。我通過 infura 節點連接到 rinkeby 測試網。

這是最簡單的方法

Web3j web3j = Web3j.build(new HttpService("https://rinkeby.infura.io/v3/......."));
Block block = web3j.ethGetBlockByNumber(DefaultBlockParameterName.LATEST, false).send().getBlock();
System.out.println(block.getNumber().toString());

這是我獲取最新塊號的實現。我使用https://docs.web3j.io/getting_started/#gradle設置項目

import org.web3j.protocol.Web3j;
import org.web3j.protocol.core.methods.response.EthBlockNumber; 
import org.web3j.protocol.http.HttpService;
import java.util.concurrent.ExecutionException;

public class App {
   public static void main(String[] args) throws ExecutionException, InterruptedException {
       Web3j web3 = Web3j.build(new HttpService(__rpcURL__));
       EthBlockNumber result = web3.ethBlockNumber().sendAsync().get();
       System.out.println(" result: " + result.getBlockNumber().toString());
   } }

引用自:https://ethereum.stackexchange.com/questions/62948