Web3js

確定交易收據是用於 ERC20 還是 ERC721

  • February 4, 2022

我試圖區分 NFT 交易和任何其他交易。我發現這篇文章說要比較主題長度,但這似乎是不正確的。ERC721 主題長度是 4 而不是 2,但除此之外,我仍然收到來自其他事物的 transactionReceipts。有沒有更好的方法來比較傳入的日誌並查看它是否專門用於 ERC721 事務?

請使用 ERC-165 檢查契約。

這是 ERC-721 契約的要求,專門用於幫助您區分這一點。


所以這裡是工作流程:

  1. 負載轉移事件
  2. 檢查合約是否支持 ERC-721(通過 ERC-165)
  3. 如果是,則為 ERC-721 傳輸
  4. 如果不是,則為 ERC-20 傳輸

並且可以記憶體第 2 步的結果。

您引用的原始文章是區分兩者的好方法。ERC20 傳輸將比 ERC721 傳輸少一個主題。2 個主題對 3 個主題。

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