exchange.IO("token", ...)
登记代币,或列出代币表;登记后的代币可以直接写在交易对里。
exchange.IO(k)
exchange.IO(k, name, address)示例
在以太坊上登记UNI后查询UNI_USDC行情(合约地址因链而异,其它链请换成该链上的地址)。
javascript
function main() {
var t = exchange.IO("token", "UNI", "0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984")
if (!t) {
Log("登记失败:", GetLastError())
return
}
var ticker = exchange.GetTicker("UNI_USDC")
Log(t.symbol, "精度:", t.decimals, "买一:", ticker.Buy, "卖一:", ticker.Sell)
}返回值
| 类型 | 描述 |
object / array / 空值 | 登记时返回 |
参数
| 名称 | 类型 | 必填 | 描述 |
k | string | 是 | 固定为 |
name | string | 否 | 代币在交易对中使用的名字,例如 |
address | string | 否 | 代币合约地址,精度从链上读取。 |
参考
Uniswap / PancakeSwap Aerodrome / Velodrome KyberSwap 1inch exchange.IO exchange.IO("route") exchange.IO("transfer") exchange.IO("approve")
备注
按名字解析代币的顺序:①代币表,包括人工核对过的内置代币(原生币、包装币、USDC、USDT、该链的BTC等)和exchange.IO("token", ...)登记过的代币,登记与内置代币同名的代币会替换内置条目;②官方代币列表:按链选择:BNB Chain合并PancakeSwap列表(tokens.pancakeswap.finance)与Uniswap Labs默认列表(tokens.uniswap.org),Base合并Uniswap Labs列表与PancakeSwap列表,其它链使用Uniswap Labs列表(与交易所无关,KyberSwap、1inch交易所对象在同一条链上用同样的列表),从官方列表解析到的代币会登记进代币表。连接器内置一份列表快照,名字在快照里找不到时再拉取一次最新列表(24小时内只拉一次)。
官方列表中同一条链上有多个同名代币(例如桥接版与原生版)时,名字不能直接使用,报错信息会列出各个候选地址,请用合约地址指定。列表中代币的精度以链上合约为准,与列表不一致时拒绝使用。
不在代币表中的代币也可以直接用合约地址作为交易对的一部分,例如0x1f9840a85d5af5bf1d1762f925bdaddc4201f984_USDC。
exchange.GetMarkets()只列出代币表中各代币(内置及已登记的代币)之间、以及流动性排名靠前的常用币与包装币/USDC/USDT之间的交易对;列表里的其他代币同样可以直接交易。
原生币(如ETH、BNB)与包装币(如WETH、WBNB)是两个不同的资产:交易原生币时由路由合约自动包装和解包。