运行第一个程序#
完成环境配置后,你可通过以下代码示例运行首个链上交互应用。
初始化HTTP客户端#
import { OKXDexClient } from '@okx-dex/okx-dex-sdk';
import 'dotenv/config';
// 初始化DEX客户端
const client = new OKXDexClient({
apiKey: process.env.OKX_API_KEY!, // 从环境变量获取API密钥
secretKey: process.env.OKX_SECRET_KEY!, // 安全凭证密钥
apiPassphrase: process.env.OKX_API_PASSPHRASE!, // 加密口令
projectId: process.env.OKX_PROJECT_ID!, // 开发者平台创建的项目ID
// 链上交互配置(以Solana为例)
solana: {
connection: {
rpcUrl: process.env.SOLANA_RPC_URL!, // 节点RPC地址
confirmTransactionInitialTimeout: 60000 // 交易确认超时设置
},
privateKey: process.env.SOLANA_PRIVATE_KEY!, // 钱包私钥(加密存储)
walletAddress: process.env.SOLANA_WALLET_ADDRESS! // 钱包地址
}
});
获取报价示例 (SOL → USDC)#
async function main() {
try {
// 获取兑换报价
const quote = await client.dex.getQuote({
chainIndex: '501', // Solana主网链ID
fromTokenAddress: 'So11111111111111111111111111111111111111112', // SOL代币地址
toTokenAddress: 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v', // USDC代币地址
amount: '1000000000', // 兑换数量(基础单位精度)
slippage: '0.1' // 滑点容忍度(0.1%)
});
console.log('兑换报价详情:', JSON.stringify(quote, null, 2));
} catch (error) {
console.error('交易异常:', error);
}
}
// 执行报价查询
main();
解释
关键参数说明:
- chainIndex:各公链的唯一标识符 (501 = Solana 主网)
- slippage:建议根据市场波动性动态调整 (范围 0.1-1%)
- amount:需转换为代币最小单位 (如 SOL 的 Lamport 精度)
如需查看更多示例,请访问获取: