Transactions
Etherscan API 從 getLogs api 呼叫獲取交易狀態
我正在使用 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
當交易失敗時,它會恢復其狀態 -
這樣的異常會撤消對目前呼叫(及其所有子呼叫)中狀態所做的所有更改,並向呼叫者標記錯誤。
由於狀態已恢復,因此沒有任何變化,包括事件。