内置函数
结构体
内置变量与常量
通用约定
交易所
能力矩阵
中心化交易所
去中心化交易所
预测市场
证券与期货
链上与自定义接入
通用协议
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("base", ...)
设置Web3交易所对象的RPC节点地址,EVM链可以设置多个节点互为备用。
exchange.IO(k)
exchange.IO(k, address)示例
-
把RPC节点切换到BSC链。
javascriptfunction main() { var chainRpc = "https://bsc-dataseed.binance.org" exchange.IO("base", chainRpc) // 切换到BSC链 } -
设置多个节点互为备用。
javascriptfunction main() { // 多个节点互为备用:节点不可用或限流时自动切换到下一个,chainId 与第一个节点不一致的节点不会被使用 exchange.IO("base", ["https://bsc-dataseed.bnbchain.org", "https://bsc-rpc.publicnode.com"]) Log("节点:", exchange.IO("base")) Log("区块高度:", parseInt(exchange.IO("api", "eth", "eth_blockNumber"), 16)) }
返回值
| 类型 | 描述 |
string | 设置时返回设置前的节点地址(多个节点时为逗号分隔的字符串);不传 |
参数
| 名称 | 类型 | 必填 | 描述 |
k | string | 是 | 固定为 |
address | string / array | 否 | 节点地址。以太坊(EVM)支持 |
参考
备注
设置多个节点时,优先从上次请求成功的节点开始使用;当节点出现连接失败、请求超时、返回非2xx的HTTP状态码、响应不是有效的JSON-RPC格式或被限流等情况时,自动切换到下一个节点。合约执行失败(revert)等正常的JSON-RPC错误不会触发节点切换。
每个节点首次使用时会校验chainId,与第一个可用节点所在链不一致的节点将不会被使用,以避免将交易发送到其他链。日志中的节点地址仅显示协议和域名,不包含路径中的API Key。
切换节点后重新获取链ID。多个节点互为备用只适用于以太坊(EVM),波场(TRON)不支持。