Transactions

如何讀取多個目標交易?

  • August 30, 2022

我有一個使用 0xa9059cbb 方法讀取普通令牌交易的系統,但現在我收到了像 0x5ed78dc97ed6c4a3797be99f04977bbcfd45ca5c0ae97ade16dce69e7ecc558a 這樣的交易,其中有多個我不熟悉的目的地。

這個交易使用什麼方法?0xca350aa6 是有效的方法嗎?有人可以指導我在哪裡可以找到有關如何閱讀此類交易的更多資訊嗎?

似乎0xA9D1e08C7793af67e9d92fe308d5697FB81d3E43未經驗證,並且在0x5ed78dc97ed6c4a3797be99f04977bbcfd45ca5c0ae97ade16dce69e7ecc558a上的輸入數據可能包含元組,因此很難嘗試分析其輸入數據。

誰知道呢,開發者不想分享它,所以它比平常更難分析。

但有一件事是開發者無法改變的。

這是 ERC-20 合約上的轉移事件,開發者必須呼叫 ERC-20 上的轉移函式,這個轉移函式會發出轉移事件。

您可以在https://etherscan.io/tx/0x5ed78dc97ed6c4a3797be99f04977bbcfd45ca5c0ae97ade16dce69e7ecc558a#eventlog上查看這些傳輸。

你可以在這裡看到如何務實地做到這一點。 如何使用 web3.js 解析交易回執日誌?

謝謝。

聽起來您只是在獲取交易並通過簽名過濾transfer(address,uint256)。這不會擷取所有代幣轉移,因為這只是直接從 EOA(外部擁有的帳戶,即私鑰而不是契約)呼叫和轉移的交易。您不會獲得來自契約的轉賬,就像您的範例 tx 正在做的那樣

你也有可能得到誤報,因為簽名只有 4 個字節,所以會有衝突,你可以將非轉賬交易視為轉賬。

獲得 ERC20 轉賬的正確方法是獲取代Transfer幣合約上發出的事件。無論使用者是直接呼叫它還是由合約呼叫它,這將為您提供交易中的轉賬

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