快速入门
本指南涵盖了开始集成 Kroko DEX 所需的全部内容 — 连接网络、设置合约引用以及发起第一个 API 调用。前置条件
1. 连接到 Kasplex
将 Kasplex 网络添加到你的钱包或 Provider:import { ethers } from 'ethers';
// 主网
const provider = new ethers.JsonRpcProvider('https://evmrpc.kasplex.org');
// 测试网
const testnetProvider = new ethers.JsonRpcProvider('https://rpc.kasplextest.xyz');
import { createPublicClient, http, defineChain } from 'viem';
const kasplexMainnet = defineChain({
id: 202555,
name: 'Kasplex Mainnet',
nativeCurrency: { name: 'KAS', symbol: 'KAS', decimals: 18 },
rpcUrls: {
default: { http: ['https://evmrpc.kasplex.org'] }
},
blockExplorers: {
default: { name: 'Explorer', url: 'https://explorer.kasplex.org' }
}
});
const client = createPublicClient({
chain: kasplexMainnet,
transport: http()
});
2. 合约地址
根据目标网络引用已部署的合约:const CONTRACTS = {
PERMIT2: '0x2E1987F680FD7Bc8B33d3Bf94f12B988A0B50034',
UNIVERSAL_ROUTER: '0xefeCc1c2dE3BfE4C6D43030F2AcDD5C3cE279024',
WKAS: '0x2c2Ae87Ba178F48637acAe54B87c3924F544a83e',
V2_FACTORY: '0x4373b7Fcf5059A785843cD224129e01d243Aef71',
V2_ROUTER: '0xC7ca845B8302346e1C7227f03bb9EFb35ecD51fe',
V3_FACTORY: '0x0dfb1Bb755d872EA1fa4d95E4ad0c2E6317Ce9B9',
V3_POSITION_MANAGER: '0x343b244bEDF133D57C61b241557bF29AA32ea4F9',
};
const CONTRACTS = {
PERMIT2: '0xc320bc492Bb56169aBE18D3C0a2048c45febC897',
UNIVERSAL_ROUTER: '0x440d7f5FE865eFCcfdCB1ee9a000C114163689ba',
WKAS: '0xC065C62a10fB363fD31CA394D632C4Df106566df',
V2_FACTORY: '0x497152FfC1FEa1Ff31cc7cEeca4f4b9495b606fB',
V2_ROUTER: '0xf2ece243a0EFC0Cd1fcd3386b2f73f16D1378689',
V3_FACTORY: '0x6ea7b69cDB0Af4DE7DF60DA08edE2F7E2b8d5924',
V3_POSITION_MANAGER: '0xDAF3700A7D80B26d5DD971C3C0e2fB93Ad73219f',
};
3. API 基础 URL
Swap API 地址为:https://dex.kasplex.org/swap-api
4. 第一个 API 调用
获取代币列表以验证连通性:const response = await fetch('https://dex.kasplex.org/api/v1/tokens2?limit=10');
const data = await response.json();
console.log(data.tokens);
// [{ address: '0x...', symbol: 'WKAS', name: 'Wrapped KAS', decimals: 18 }, ...]
5. 获取报价
尝试获取交换报价:const params = new URLSearchParams({
tokenIn: CONTRACTS.WKAS,
tokenOut: '0xB190a6A7fC2873f1Abf145279eD664348d5Ef630', // 示例代币
amountIn: '1000000000000000000', // 1 KAS
tradeType: '0'
});
const quote = await fetch(`https://dex.kasplex.org/swap-api/api/v1/quote?${params}`);
const data = await quote.json();
console.log(`1 KAS = ${data.executionPrice} 个代币`);
下一步
执行交换
完整的 5 步交换流程详解。
提供流动性
向 V2 或 V3 池添加流动性。