输入/搜索内容
内置函数
结构体
内置变量与常量
通用约定
交易所
能力矩阵
中心化交易所
去中心化交易所
预测市场
证券与期货
链上与自定义接入

取消尚未上链的交易:使用与原交易相同的nonce,以更高的手续费发送一笔转给自己的0金额交易;该交易先上链后,原交易即失效。

exchange.IO(k, txHash)
exchange.IO(k, txHash, options)

示例

取消一笔已发送的交易。

javascript
function main() { var USDC = "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" var spender = "0x1111111254EEB25477B68fb85Ed929f73A960582" var txHash = exchange.IO("api", USDC, "approve", spender, "1000000") Log("已发送:", txHash) // 先使用 dryRun 查看替换交易的手续费(不发送) Log(JSON.stringify(exchange.IO("cancelTx", txHash, { dryRun: true, multiplier: 1.5 }))) // 不再需要这笔交易:使用同一个 nonce 发送一笔转给自己的 0 金额交易,手续费更高,先上链即可替换原交易 var cancelHash = exchange.IO("cancelTx", txHash) Log("取消交易:", cancelHash) }

返回值

类型描述

string / object

返回取消交易的哈希;启用dryRun时返回取消交易的内容。

参数

名称类型必填描述

k

string

是

固定为cancelTx,用于取消交易。

txHash

string

是

待替换的、尚未上链的交易哈希,该交易必须由当前钱包发出。

options

object

否

可选设置:multiplier为手续费放大倍数,范围1.1~10,默认1.125;dryRun为true时只签名不发送,返回替换交易的内容(字段与exchange.IO("api", ...)设置dryRun时相同,另有replaces为被替换的交易哈希)。

参考

备注

替换交易沿用原交易的nonce,手续费按multiplier放大(默认值为1.125,最小值为1.1;节点要求替换交易的tip和maxFee均至少提高10%),且不低于当前网络的建议值。

取消操作不保证成功:如果原交易先被打包,取消交易将因nonce已被使用而失效。

当原交易已上链、节点查询不到原交易(例如通过私有通道发送),或原交易并非由当前钱包发出时,函数返回空值并报错。

目前仅支持以太坊(EVM)链,暂不支持波场(TRON)。

手续费的计算:原交易为EIP-1559交易时,小费取原小费×multiplier与当前建议小费中的较大者,最高费用取原最高费用×multiplier与2 × baseFee + 小费中的较大者;原交易为传统交易时,gas价格取原gas价格×multiplier与节点eth_gasPrice中的较大者。取消交易的gas上限为21000。

原交易在交易所对象配置的节点上查询;设置了exchange.IO("sendBase", ...)时,替换交易从该节点广播。