node.js - ETH 交易可以取消吗?

标签 node.js ethereum web3js

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

如果我使用 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.

Using callbacks

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/

相关文章:

ethereum - Solidity for 循环大量数据

ethereum - 有没有办法模拟智能合约调用的输出?

javascript - 在 Azure Function 上使用 web3.js 调用以太坊

javascript - Node中的多个文件上传,强制同步回调?

php - 使用以太坊 RPC 获取代币余额?

node.js - 通过 npm 安装 Socket.io 时出错

php - 在 PHP 中验证以太坊(Web3)签名的消息

blockchain - 无法使用web3.js发送ERC20 token

angularjs - 如何在实时服务器上部署网站?

node.js - 无法验证 Node.js 中的第一个证书