Saltar al contenido principal
Esta página fue traducida automáticamente por IA. La versión en inglés es la fuente autorizada.Ver versión en inglés →
Qué hace esto. Carga un pool CPMM desde RPC, obtiene una cotización de swap con 0.5% de slippage, construye la transacción, la firma con tu keypair y la envía. De principio a fin en ~30 líneas.

Configuración

Asegúrate de que has leído los requisitos previos del inicio rápido y que tienes RPC_URL, KEYPAIR y las dependencias instaladas.

El script

Guarda como swap.mjs:

Ejecútalo

Elige cualquier pool CPMM en el que tengas liquidez. Ejemplo con el pool CPMM SOL/USDC canónico:
Salida esperada:

Qué acaba de suceder

  1. Raydium.load inicializó el SDK — descargó la configuración global y configuró el contexto de tu wallet.
  2. getPoolInfoFromRpc obtuvo el estado actual del pool directamente desde RPC (no desde la caché de API). Para swaps de alto valor siempre quieres estado fresco.
  3. CurveCalculator.swap calculó el resultado del producto constante neto de la tarifa del pool. Esta es la misma matemática que ejecuta el programa on-chain, por lo que puedes comparar cotizaciones off-chain y on-chain.
  4. raydium.cpmm.swap construyó la transacción con formato V0 (tablas de búsqueda de direcciones habilitadas) y añadió una configuración de presupuesto de cómputo explícita. La propina de presupuesto de cómputo ayuda a que la transacción se complete en momentos de mucho tráfico.
  5. execute({ sendAndConfirm: true }) firmó, envió y esperó confirmación.

Errores comunes

  • Pool not foundPOOL_ID incorrecto, o estás conectado al clúster equivocado (ID de pool mainnet contra RPC de devnet, etc.).
  • Insufficient funds for transaction — Tu wallet no tiene suficiente SOL para el input del swap + comisiones + renta de ATA.
  • Slippage tolerance exceeded — El precio del pool cambió entre la cotización y la ejecución. Re-ejecuta; o aumenta el parámetro slippage; o usa el método computeAmountOut del SDK que siempre vuelve a obtener las reservas.
  • Token account not initialized — El ATA del token de salida no existía y la instrucción de creación implícita se completó pero falló por alguna razón; verifica el saldo de SOL de tu wallet e intenta nuevamente.

Siguiente