Ethereum 如何判断ERC20令牌传输是否成功?

Ethereum 如何判断ERC20令牌传输是否成功?,ethereum,web3,Ethereum,Web3,我已经拼凑了一些代码,使用web3.js 1.0.0-beta46发送了一些代币,然后决定尝试发送比钱包中更多的代币。令我大吃一惊的是,事务发送成功了,我得到了一个txid,但传输当然失败了 以下是(在Ropsten上)的尝试: 现在我的问题是:我如何判断转移何时成功?或者,我怎样才能得到错误信息?以太扫描仅表明: ERC-20令牌传输错误(无法找到相应的传输事件日志),请与发件人联系 最简单直接的方法是在转账前后检查发送方和接收方的余额 关于失败的转账,在阅读了合同后,我注意到如果资金不足,

我已经拼凑了一些代码,使用web3.js 1.0.0-beta46发送了一些代币,然后决定尝试发送比钱包中更多的代币。令我大吃一惊的是,事务发送成功了,我得到了一个txid,但传输当然失败了

以下是(在Ropsten上)的尝试:

现在我的问题是:我如何判断转移何时成功?或者,我怎样才能得到错误信息?以太扫描仅表明:

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


最简单直接的方法是在转账前后检查发送方和接收方的余额


关于失败的转账,在阅读了合同后,我注意到如果资金不足,您只需返回false,这是一笔有效的交易。您应该做的是使用
require
进行检查来还原事务。这样,EVM将恢复无效事务,以太扫描将识别该事务并显示该事务失败

谢谢你,尼科斯。合同是在github上发布的,不是我的:但我会根据你的建议提出一个问题。因此,如果在资金不足的情况下,合同要求恰当,我的交易就会失败?或者它仍然会成功,而我必须检查余额?使用正确的
require
交易将失败/恢复。此错误将在代码中返回。