Transactions

Etherscan API 從 getLogs api 呼叫獲取交易狀態

  • May 9, 2022

我正在使用 Etherscan API 獲取與我的地址相關的合約的 ERC20 傳輸事件列表:

https://api.etherscan.io/api?module=logs&action=getLogs

https://api.etherscan.io/api?module=logs&action=getLogs&fromBlock=1652080864&toBlock=latest&address=0xa4bbe66f151b22b167127c770016b15ff97dd35c&topic0=0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef&topic2=0x0000000000000000000000004103c267fba03a1df4fe84bc28092d629fa3f422&apikey=<APIKEY>

我的 API 呼叫的響應如下:


{
       "address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
       "topics": ["0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000dc7a1ad13b9c03da793b512766c39cc990a6e3b0", "0x0000000000000000000000004103c267fba03a1df4fe84bc28092d629fa3f422"],
       "data": "0x0000000000000000000000000000000000000000000000000000000008473b70",
       "blockNumber": "0xe0f2a5",
       "timeStamp": "0x6278fc7b",
       "gasPrice": "0xbdc814c53",
       "gasUsed": "0xb41d",
       "logIndex": "0x85",
       "transactionHash": "0x746fa361320fe7365e7001693ee05db243a5d14086c85a105db1e65eed3d7d7e",
       "transactionIndex": "0x2f"
   }

是否可以從這些數據中得出交易狀態?我試圖避免呼叫額外的 API 呼叫,因為我將循環處理大量事務

已還原的事務沒有日誌,因此任何具有日誌的事務都必須是已探勘且未還原的事務。

您從 getLogs 收到的任何交易都status必須如此。true

錯誤處理:斷言、要求、還原和異常

當交易失敗時,它會恢復其狀態 -

這樣的異常會撤消對目前呼叫(及其所有子呼叫)中狀態所做的所有更改,並向呼叫者標記錯誤。

由於狀態已恢復,因此沒有任何變化,包括事件。

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