我正在尝试创建一个可以进行以太坊交易的网站。
如果我使用 eth.sendTransaction({from:sender, to:receiver, value: amount})
进行以太坊交易,该交易可以取消吗?
我问这个是因为我发现它不接受任何 promise 或回调参数,这意味着我不知道交易是否成功?
web3 交易可以取消吗?如果是,我如何确保收到交易是否已完成的通知? (最好使用 promise 或回调,而不是每次都检查钱包)
最佳答案
从技术上来说,取消交易是可能的,但可能性很小。从本质上讲,这样做的唯一方法是尝试使用相同的帐户/随机数组合发送另一笔交易,并希望它在您要取消的交易被开采之前被开采。这只是使用随机数来保证交易顺序的副作用,而不是取消功能。
对于您的其他问题,web3.eth.sendTransaction
确实需要回调。它是选项对象之后的可选第二个参数,并使用错误/结果回调样式。来自Web3js API :
web3.eth.sendTransaction(transactionObject [, callback])
Function - (optional) If you pass a callback the HTTP request is made asynchronous.
If you want to make an asynchronous request, you can pass an optional callback as the last parameter to most functions. All callbacks are using an error first callback style
关于node.js - ETH 交易可以取消吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48738582/