Web3j

如何使用 web3j 獲取交易的 TxReceipt?

  • January 8, 2019

如何使用 web3j 通過 TxHash 獲取交易狀態。

我試過這樣:

public int getEstado(String trx) {
   try {
       JSONObject json = readJsonFromUrl("https://api.infura.io/v1/jsonrpc/rinkeby/eth_getTransactionReceipt?params=[\"" + trx + "\"]");

       if (json.toString().contains("error")) {
           return -4;
       }

       String result = Parser.getMessageByKey(json.toString(), "status");
       int estado = Integer.decode(result);
       json = null;
       result = null;
       return estado;

   } catch (Exception ex) {
       return -4;
   }
}

最後這不起作用,所以我想知道您是否可以通過另一種方式指導我獲取txHash的狀態。

Web3j 文件中有交易頁面多次提到交易收據,我瀏覽了 IntelliJ 中的一些自動完成功能。如果您有交易雜湊,您似乎可以執行以下操作:

Optional<TransactionReceipt> transactionReceipt = 
   web3j.ethGetTransactionReceipt(txHash).send().getTransactionReceipt();

然後您可以檢查可選是否持有價值並檢索交易收據。我沒有對此進行測試,但我不明白為什麼它不應該工作。讓我知道它是否有幫助。

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