我有ERC-20令牌智能合约,我使用来自web3.js的sendSignedTransaction
调用哪些方法。在我知道事务成功挖掘后,我需要检查合同方法执行结果。如果我只有事务哈希,我该怎么做?
示例:方法transferFrom(from, to, tokens)
返回true
或false
,具体取决于转移是否成功。因此,如果我尝试从空钱包中转移100个令牌,则合同方法将返回false
。
更新:好的,正如我所知,在开采和确认交易后,无法使用txHash确定方法结果。那么处理这种情况的方法是什么?我怎样才能确保转移令牌?
答案 0 :(得分:1)
您可以在合同代码内发出一个事件(实际上在ERC20标准中总是存在一个转移事件),然后在web3js内,使用以下代码行读取所有事件,直到最新的代码块为止:
Events = Contract.eventName({}, {fromBlock: 0, toBlock: 'latest'});