Solidity

目前 ERC 代幣標准在前 100-1000 個最活躍的代幣合約中的分佈是什麼?

  • June 25, 2019

ERC 677

動機

ERC20 需要一個多步驟的過程才能將代幣轉移到合約中。必須在代幣合約上呼叫第一個批准,使合約能夠撤回代幣。接下來,需要通知合約它已被批准提取代幣。最後,合約必須實際提取代幣,並執行與接收代幣相關的任何程式碼。這個過程通常需要兩到三個步驟,效率低,使用者體驗差。

針對這個問題已經提出了其他解決方案,包括:ERC 223ERC 777

這導致了我提出問題的動機。

據推測,有活躍的代幣合約可以實現這些代幣標準中的任何一種,包括ERC 20。我想創建一個可以處理所有這些標準的 PaymentReceiver 合約,然後在 paymentRecieved(address payer, address token, uint amount, bytes data); 上呼叫我的其他合約。

實現我的目標的最佳方式是什麼?支持所有代幣標準是否值得?有人可以指出我已經這樣做了嗎?

謝謝

好吧,你們都很懶所以我自己做的。這是一個超級粗略的估計

這是我的腳本的要點,用於獲取 etherscan 上前 1000 個“已驗證合約”中的所有函式名稱。

該腳本下載所有頂級合約的 abis 並檢查是否存在具有以下列表中名稱的函式:['transfer(with bytes)', 'transferandcall', 'approveandcall', 'operatorsend']

這涵蓋了erc223、erc677、erc 777和非標準approveAndCall。我不確定所有其他標準。

結果:

  • 非標準 - 批准和呼叫,計數:180
  • erc223 - 傳輸字節數,計數:31
  • erc677 - transferandcall,計數:12

前 1000 個合約中實現每個標準

Raw 函式的合約數量


更新:

稍微修改了腳本(也更新了要點)。我對 erc20 兼容性做了最少的檢查,尋找approvetransferFrom在同一個契約中。

結果:

  • erc20兼容:887
  • 非標準 - 批准和呼叫:180
  • erc223 - 傳輸字節數:31
  • erc677 - 轉移和呼叫:12

179 個approvalandcall 代幣兼容erc20

掃描909 個合約

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