我想通过编程验证交易是否成功——也就是说,以太坊网络本身识别出给定的交易哈希值是有效的。
使用web3.eth.sendSignedTransaction
返回一个承诺,有两个事件-一个'确认',另一个'收到'。
我可以依靠' receive '回调来确定事务是否确实发生了吗?或者我也必须依靠"确认"回电话吗?如果有,怎么做?
同样地,读取getTransactionReceipt它提到-
对于挂起的事务,收据不可用,返回null。
所以,如果我收到收据,这意味着交易不再"待定"?也就是说,成功了吗?
_那么,如果我收到收据,这意味着交易不再"待定"?也就是说,成功了吗?
当收据变得可用时(或者在您的情况下处理了事件),这意味着交易被挖掘成一个块。
但是tx可以被还原(如果它是一个智能合约的tx,由于某种原因还原了它)。检查收货字段status
true
表示事务成功false
表示还原
请注意,status
不包括在拜占庭(2017年10月)之前的交易中,并且在某些未来的交易类型中也可能缺失。在此回答中查看有关事务类型的更多信息。