以太坊开发人员Dexaran在一篇文章中详细描述了ETC20不适合的两种场景:app
“在ERC20中执行交易有两种方式:函数
通证余额只是通证合约中的一个变量。学习
通证的交易是合约内部变量的变化。 转出帐户的余额将减小,转入帐户的余额将增长。区块链
交易发生时, transfer()函数不会通知转入帐户。 所以转入帐户将没法识别传入的交易! 我写了一个例子,能够展现这一致使未处理的交易和资金损失的过程 。.net
所以,若是接收帐户是合约,那么必须使用approve + transferFrom机制来发送通证。 若是接受帐户是外部拥有账户,则必须经过transfer函数发送通证。 若是选择了错误的机制, 通证将卡在合约内(合约将不会识别交易),没有办法来提取这些卡壳的通证。“3d
他对这个问题提出的解决方案包含在ERC-223中 。 它与ERC-20标准很是类似,但解决了上述问题。 当通证转移到智能合约帐户时,该合约的特殊函数tokenFallback() 容许接收方合约拒绝令牌或触发 进一步的操做。 在大多数状况下,这能够用来代替approve()函数。blog
若是你但愿高效的学习以太坊DApp开发,能够访问汇智网提供的最热门在线互动教程:教程
其余更多内容也能够访问这个以太坊博客。token