如何判断ERC20令牌转移是否成功?

时间:2019-02-28 03:45:34

标签: ethereum web3

我整理了一些代码以使用web3.js 1.0.0-beta46发送一些令牌,然后决定尝试发送比我钱包里更多的令牌。令我惊讶的是,交易发送成功并且得到了txid,但当然转移失败了

这是尝试(在Ropsten上):

https://ropsten.etherscan.io/tx/0xaf2708dcc9b86b7cca0076e329a1e81fc28fdc4a97765b0a79544ec0685cfa69

现在我的问题是:我怎样才能知道转移成功的时间?或就此而言,如何获得错误消息? etherscan仅表示:

  

ERC-20令牌传输错误(无法找到相应的传输事件日志),请与发件人一起检查

1 个答案:

答案 0 :(得分:1)

最简单直接的方法是在传输前后检查发送者和接收者的余额。

现在关于失败的转账,在阅读合同后,我注意到如果资金不足,您简单地返回false即可进行有效交易。您应该做的是使用require还原交易以进行检查。这样,EVM将还原无效的事务,该事务将被etherscan识别并显示事务失败。