内置函数
结构体
内置变量与常量
通用约定
交易所
能力矩阵
中心化交易所
去中心化交易所
预测市场
证券与期货
链上与自定义接入
通用协议
Web3
exchange.IO("abi", ...)
exchange.IO("api", blockChain, ...)
exchange.IO("encode", ...)
exchange.IO("encodePacked", ...)
exchange.IO("decode", ...)
exchange.IO("hash", ...)
exchange.IO("key", ...)
exchange.IO("sign", ...)
exchange.IO("signTypedData", ...)
exchange.IO("signMessage", ...)
exchange.IO("api", ...)
exchange.IO("call", ...)
exchange.IO("multicall", ...)
exchange.IO("logs", ...)
exchange.IO("waitReceipt", ...)
exchange.IO("nonce", ...)
exchange.IO("speedUp", ...)
exchange.IO("cancelTx", ...)
exchange.IO("toUnits", ...)
exchange.IO("fromUnits", ...)
exchange.IO("uniswapV3", ...)
exchange.IO("contracts", ...)
exchange.IO("address")
exchange.IO("base", ...)
exchange.IO("sendBase", ...)
exchange.IO("sendBase", ...)
设置仅用于广播交易的节点。设置后,读取数据、查询nonce、估算gas等请求仍使用交易所对象配置的节点,而签名后的交易仅发送至该节点。该功能适用于Flashbots Protect、MEV Blocker等私有交易通道,可避免交易进入公开交易池后遭到抢跑或三明治攻击。
exchange.IO(k)
exchange.IO(k, url)示例
通过MEV Blocker发送交易。
javascript
function main() {
// 读请求仍走交易所对象配置的节点,签名后的交易只发给 MEV Blocker
var old = exchange.IO("sendBase", "https://rpc.mevblocker.io")
Log("原发送节点:", old, "当前发送节点:", exchange.IO("sendBase"))
// 之后的交易都从私有通道发送,例如:
// var txHash = exchange.IO("api", "eth", "send", toAddress, value)
// 传空字符串清除,恢复从配置的节点发送
exchange.IO("sendBase", "")
}返回值
| 类型 | 描述 |
string | 返回设置前的发送节点地址;此前未设置时返回空字符串。 |
参数
| 名称 | 类型 | 必填 | 描述 |
k | string | 是 | 固定为 |
url | string | 否 | 节点的JSON-RPC地址(支持http或https协议),例如 |
参考
备注
通过私有通道发送的交易不会计入公开节点的pending计数;连续发送交易时,由本地nonce记录确保nonce不被重复使用,详见exchange.IO("nonce", ...)。
发送至该节点的请求不会携带交易所对象所配置节点的鉴权信息(ApiKey)。
影响exchange.IO("api", ...)发送的交易(转账和合约写操作)以及exchange.IO("speedUp", ...)、exchange.IO("cancelTx", ...)的替换交易,dryRun时不会发送。
目前仅支持以太坊(EVM)链,在波场(TRON)上调用返回空值,GetLastError()中有错误信息。