Go-Ethereum

通過 RPC 檢測失敗的令牌傳輸

  • September 12, 2019

似乎 Etherscan 可以檢測到失敗的令牌傳輸,即使交易本身是成功的並且氣體沒有完全使用。

就像這次火幣代幣的轉移一樣

在此處輸入圖像描述

有沒有辦法在完整的非歸檔 Geth 節點上通過 RPC 檢測令牌傳輸失敗?eth_getToken 和 eth_getTokenReceipt 在這方面似乎沒有產生任何有用的東西。

Etherscan 知道交易輸入以 0xa9059cbb 開頭(這是呼叫 ERC20 傳輸函式的簽名)。他們也知道目標地址是一個 ERC20 代幣。所以假設使用者想要進行令牌轉移。

為了使 ERC20 令牌傳輸成功,它應該生成一個傳輸事件(傳輸事件的主題 id 為 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef)。

如果您檢查交易的收據並且沒有生成 Transfer 事件,那麼您就知道傳輸失敗或者它來自不合規的 ERC20 合約。

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