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

等待交易上链并达到指定的确认数,返回交易回执及解码后的事件日志。

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

示例

发送交易后等待其上链,并检查执行结果和事件。

javascript
function main() { // 发送交易后会得到交易哈希,例如: // var txHash = exchange.IO("api", "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", "approve", // spender, amount) var txHash = "TX_HASH" // 需要等待的交易哈希 // 最多等待 2 分钟,直到达到 2 个确认 var rec = exchange.IO("waitReceipt", txHash, { timeout: 120000, confirmations: 2 }) if (!rec) { Log("等待失败:", GetLastError()) return } if (rec.status !== 1) { Log("交易执行失败:", rec.revertReason) return } Log("区块:", rec.blockNumber, "gasUsed:", rec.gasUsed, "gas价格:", rec.effectiveGasPrice) // events 为解码后的事件;代币的 Transfer/Approval 事件无需注册 ABI rec.events.forEach(function (e) { Log(e.address, e.event, JSON.stringify(e.args)) }) }

返回值

类型描述

object

返回交易回执,保留节点返回的原始字段,并做如下处理:status为数值(1表示成功,0表示失败),blockNumber为数值,gasUsed、effectiveGasPrice等字段为十进制字符串;events为解码后的事件数组,每个元素包含address、event、args、logIndex字段;交易执行失败时,revertReason为失败原因。若超时仍未上链,则返回空值,可通过GetLastError()获取具体的错误信息。

参数

名称类型必填描述

k

string

是

固定为waitReceipt,用于等待交易回执。

txHash

string

是

交易哈希(以0x开头的32字节十六进制字符串),即发送交易时exchange.IO("api", ...)返回的值。

options

object

否

可选设置{timeout, confirmations, interval}:timeout为最长等待时间(毫秒,默认120000,范围1000~600000),confirmations为需要的确认数(默认1),interval为查询间隔(毫秒,默认1500,范围200~60000)。

参考

备注

事件按照通过exchange.IO("abi", ...)注册的ABI进行解码;代币的Transfer、Approval事件已内置支持,无需注册。没有匹配ABI的日志不会出现在events中,可在logs中查看其原始数据。

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