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

从配置的钱包转出链上原生币(如ETH、BNB)或ERC20代币。

exchange.IO(k, to, amount)
exchange.IO(k, to, amount, token)

示例

转出ETH和USDC,并等待上链。

javascript
function main() { var TO = "0x收款地址" // 转0.05个ETH;转出全部用 "all" var r = exchange.IO("transfer", TO, "0.05") if (!r) { Log("转账失败:", GetLastError()) return } Log("已发出", r.amount, r.token, "交易:", r.txHash) // 最多等3分钟上链 var rc = exchange.IO("receipt", r.txHash, 180000) if (rc.pending) { Log("尚未上链") } else { Log("结果:", rc.status, "区块:", rc.blockNumber, "手续费:", rc.fee) } // 转10个USDC var r2 = exchange.IO("transfer", TO, "10", "USDC") Log(r2 ? r2.txHash : GetLastError()) }

返回值

类型描述

object / 空值

交易广播成功返回{txHash, from, to, token, tokenAddress, amount, raw}:txHash为交易哈希,amount为转出数量(可读单位),raw为最小单位的十进制字符串,tokenAddress转原生币时为null。函数只等交易广播出去,不等上链;上链结果用exchange.IO("receipt", ...)查询。失败返回空值,GetLastError()中有原因。

参数

名称类型必填描述

k

string

是

固定为transfer,用于转账。

to

string

是

收款地址,0x开头的20字节十六进制地址。必须是交易所对象所在链上的地址。

amount

string / number

是

转账数量(可读单位,例如"0.05"表示0.05个ETH)。建议写成字符串,按代币精度精确换算,小数位超出代币精度时报错,不会静默截断。设置为all表示转出全部:原生币按本次手续费的上限预留后全部转出,代币转出全部余额。

token

string

否

要转的代币,可以是代币名(如USDC,按交易对中代币名的同样规则解析:代币表中的内置或登记过的代币,以及官方代币列表中的代币,参看exchange.IO("token", ...)),也可以是代币合约地址。不传表示转原生币。

参考

备注

以下情况在签名之前直接报错,不会发出交易:地址格式错误、零地址、转给钱包自己、数量为0、数量超过余额、代币无法识别。

原生币转出全部(all)时,EIP-1559链按本次报价的最高手续费预留,实际扣费低于预留值,钱包会剩下极少的零头。

手续费小费取节点建议值与最近区块实际小费中位数的较大值,避免节点建议值为0时交易长时间不能上链。

转账是链上真实交易,无法撤回。转到交易所充值地址前请确认对方支持该链的充值。