Go-Ethereum

關於 ERC-721 代幣總數的困惑

  • November 25, 2019

我有兩個問題:

  1. 我想檢索所有 ERC-721 令牌的列表。乙太坊的主要區塊瀏覽器 Etherscan 在其網站https://etherscan.io/tokens-nft上顯示了 2,883 個 ERC-721 代幣,而我使用 Bloxy 的 api 收到的 ERC-721 代幣的數量(https://bloxy .info/api_methods)比我保持結果限制 100000 時要多得多。通過呼叫 bloxy 的“列表令牌”方法僅過濾 ERC721 後,它返回了 76,216 個 erc721 令牌。所以我很困惑為什麼令牌的數量會有這麼大的差異。

  2. Etherscan 上的 NFT 列表包含許多重複的代幣。例如,Gods Unchained Cards 有多次出現,每個都有不同的地址。這是因為這些是具有複製名稱的完全獨立的令牌還是具有不同版本的相同令牌?

代幣的問題在於它們可以以一百萬種不同的方式實現,並且仍然符合標準。同樣作為該問題的部分結果,很難說合約是否是代幣合約 - 並且不同的平台對正確性的估計不同。

讓我們看一下 ERC721 標準:http ://erc721.org/ 。它基本上聲明的唯一一件事是需要存在的一堆函式簽名。所以如果你想分析一個合約(或者更具體地說,它的字節碼)是否是一個符合 ERC721 的代幣合約,你必須至少考慮以下問題:

  • 是否存在所有必需的功能(這很容易檢查)
  • 函式簽名是否正確(也易於檢查)
  • 函式是否返回正確的數據(很難檢查,因為返回值不是簽名的一部分)。您基本上必須執行該函式才能查看它返回的內容
  • 函式是否發出正確的事件。至少一些 ERC20 規範聲明需要在某些函式中發出所需的事件——我不確定 ERC721 是否有這樣的要求。但是驗證合約是否總是發出這些事件幾乎是不可能的——例如,如果它被編碼為發出 1000 次事件中的 999 次呢?
  • 這些功能是否完成了他們應該做的事情?這不是嚴格的標準的一部分,但通常被認為是這種情況,但幾乎不可能驗證。

因此,要確定契約是否符合標準並不簡單,也沒有 100% 正確的分析方法。這就是為什麼這些數字可能會有很大差異。此外,可能存在相同程式碼的多個精確副本和/或同一合約的多個版本 - 由計算器決定如何計算這些副本。

以下是更多資訊:如何確定契約符合 ERC20?

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