Erc-20

具有價值的 web3j 交易

  • July 16, 2021

我正在使用 web3j 來分析事務。如何在某個時間範圍(或區塊間隔)內獲得特定合約的交易(假設我獲得了它的地址),以及如何知道 ERC20 代幣是否在交易中轉移?

您可以使用像 EtherScan 提供的 API獲取 Infura 帳戶,但是,唉,這些都是集中式解決方案。

一個完全去中心化的方法是執行一個完整的節點並使用JSON-RPC命令。

現在您可以查詢您的合約地址的交易列表。只要您擁有合約的 ABI,您就可以獲取他們的輸入並對其進行解碼。下面是一些範常式式碼,用於在 Ropsten 上進行ERC20 交易

如果您知道合約符合 ERC20 標準,並且函式的名稱是transfer輸入解碼時,那就是 ERC20 代幣轉移。

使用 Web3J 執行此操作的方法類似於

Optional<TransactionReceipt> transaction = web3j.ethGetTransactionReceipt(transactionHash).send().getTransactionReceipt();
assert transaction.isPresent();
String toAddress = transaction.get().getTo();

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