Web3 - 可以取消ETH交易吗?

时间:2018-02-12 02:00:22

标签: node.js ethereum web3

我正在尝试创建一个可以进行以太坊交易的网站。

如果我使用eth.sendTransaction({from:sender, to:receiver, value: amount})进行eth交易,是否可以取消此交易?

我问这个是因为我发现它没有采取任何承诺或回调参数,这意味着我不知道交易是否成功了?

是否可以取消web3交易?如果是,我该如何确保收到交易是否已经通知? (最好使用承诺或回调,而不是每次都检查钱包)

1 个答案:

答案 0 :(得分:2)

技术上可以取消交易,但不太可能。从本质上讲,唯一的方法是尝试使用相同的帐户/现时组合发送另一个事务,并希望在您要取消的事务被挖掘之前它被挖掘。这仅仅是nonce用于保证交易顺序而不是取消功能的副作用。

对于您的其他问题,web3.eth.sendTransaction确实会收到回调。它是options对象之后的可选第二个参数,并使用错误/结果回调样式。来自Web3js API

  

web3.eth.sendTransaction(transactionObject [, callback])

     

功能 - (可选)如果传递回调,则HTTP请求将成为异步。

     

Using callbacks

     

如果要进行异步请求,可以将可选回调作为最后一个参数传递给大多数函数。所有回调都使用错误的第一个回调样式