首页

运行第一个程序#

完成环境配置后,你可通过以下代码示例运行首个链上交互应用。

初始化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 精度)

如需查看更多示例,请访问获取: