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

设置Web3交易所对象的RPC节点地址,EVM链可以设置多个节点互为备用。

exchange.IO(k)
exchange.IO(k, address)

示例

  • 把RPC节点切换到BSC链。

    javascript
    function main() { var chainRpc = "https://bsc-dataseed.binance.org" exchange.IO("base", chainRpc) // 切换到BSC链 }
  • 设置多个节点互为备用。

    javascript
    function 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

设置时返回设置前的节点地址(多个节点时为逗号分隔的字符串);不传address时返回当前的节点地址。

参数

名称类型必填描述

k

string

是

固定为base,用于切换RPC节点。

address

string / array

否

节点地址。以太坊(EVM)支持http(s)://和ws(s)://地址;设置多个节点时传入地址数组,或用逗号(也可以是空格、换行)分隔的字符串。波场(TRON)只支持一个全节点HTTP地址,传入多个地址(数组或逗号分隔的字符串)时报错;旧的gRPC地址grpc.trongrid.io:50051、grpc.nile.trongrid.io:50051、grpc.shasta.trongrid.io:50051会换成对应的HTTP地址,其它非HTTP地址报错。不传时只查询当前的节点地址。

参考

备注

设置多个节点时,优先从上次请求成功的节点开始使用;当节点出现连接失败、请求超时、返回非2xx的HTTP状态码、响应不是有效的JSON-RPC格式或被限流等情况时,自动切换到下一个节点。合约执行失败(revert)等正常的JSON-RPC错误不会触发节点切换。

每个节点首次使用时会校验chainId,与第一个可用节点所在链不一致的节点将不会被使用,以避免将交易发送到其他链。日志中的节点地址仅显示协议和域名,不包含路径中的API Key。

切换节点后重新获取链ID。多个节点互为备用只适用于以太坊(EVM),波场(TRON)不支持。