以太坊開發人員Dexaran在一篇文章中詳細描述了ETC20不適合的兩種場景:app
「在ERC20中執行交易有兩種方式:函數
通證餘額只是通證合約中的一個變量。學習
通證的交易是合約內部變量的變化。 轉出帳戶的餘額將減小,轉入帳戶的餘額將增長。區塊鏈
交易發生時, transfer()函數不會通知轉入帳戶。 所以轉入帳戶將沒法識別傳入的交易! 我寫了一個例子,能夠展現這一致使未處理的交易和資金損失的過程 。.net
所以,若是接收帳戶是合約,那麼必須使用approve + transferFrom機制來發送通證。 若是接受帳戶是外部擁有賬戶,則必須經過transfer函數發送通證。 若是選擇了錯誤的機制, 通證將卡在合約內(合約將不會識別交易),沒有辦法來提取這些卡殼的通證。「3d
他對這個問題提出的解決方案包含在ERC-223中 。 它與ERC-20標準很是類似,但解決了上述問題。 當通證轉移到智能合約帳戶時,該合約的特殊函數tokenFallback() 容許接收方合約拒絕令牌或觸發 進一步的操做。 在大多數狀況下,這能夠用來代替approve()函數。blog
若是你但願高效的學習以太坊DApp開發,能夠訪問匯智網提供的最熱門在線互動教程:教程
其餘更多內容也能夠訪問這個以太坊博客。token