Skip to main content
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. Crea un nuevo pool CPMM para dos mints que especifiques, selecciona el nivel de comisión del 0,25%, inicializa la liquidez a el precio implícito en los montos iniciales e imprime el ID del nuevo pool y la firma de la transacción.

Configuración

Asegúrate de haber leído los requisitos previos de inicio rápido y de tener RPC_URL, KEYPAIR y las dependencias instaladas. También necesitarás financiar la billetera con los montos iniciales de ambos mints, más SOL suficiente para cubrir la comisión única de creación del pool y el alquiler de la cuenta (~0,19 SOL en total en mainnet — consulta reference/fee-comparison para el desglose de alquiler/comisión, o ray/protocol-fees solo para la comisión). Ejecutar esto en devnet. Cambiar cluster a "devnet" no es suficiente por sí solo. Este script fija dos importaciones nombradas que no siguen cluster: programId: CREATE_CPMM_POOL_PROGRAM y poolFeeAccount: CREATE_CPMM_POOL_FEE_ACC, ambas constantes de mainnet. Importa DEVNET_PROGRAM_ID del SDK y usa DEVNET_PROGRAM_ID.CREATE_CPMM_POOL_PROGRAM y DEVNET_PROGRAM_ID.CREATE_CPMM_POOL_FEE_ACC en su lugar — el mismo patrón que usa el script CLMM.

El script

Guarda como create-cpmm.mjs:
create-cpmm.mjs

Ejecutarlo

Ejemplo: crear un pool SOL/USDC con 1 SOL y 160 USDC iniciales:
Salida esperada:

Qué acaba de suceder

  1. getCpmmConfigs obtuvo la lista en vivo de niveles de comisión de api-v3.raydium.io y seleccionó el índice 0 (el nivel del 0,25% — consulta reference/fee-comparison para el conjunto completo).
  2. getTokenInfo resolvió los metadatos de cada mint, incluyendo qué programa de token lo posee. CPMM acepta tanto mints de SPL Token como de Token-2022; el SDK enruta automáticamente.
  3. createPool construyó una transacción que:
    • ordena los mints en orden canónico,
    • deriva la PDA del pool, los vaults, el mint LP y la autoridad,
    • paga la create_pool_fee única a CREATE_CPMM_POOL_FEE_ACC,
    • crea los ATAs del llamador si faltan,
    • inicializa los vaults con AMOUNT_A y AMOUNT_B.
  4. El precio inicial se establece por la relación de semilla: price = AMOUNT_B / AMOUNT_A después del ajuste decimal. Elige esto cuidadosamente — los bots arbitrarán cualquier error de precio dentro de segundos de que el pool se abra.
  5. startTime: new BN(0) abre el trading inmediatamente. Para preparar liquidez antes de abrir al público, establece una marca de tiempo Unix futura.

Errores comunes

  • pool already exists — Ya existe un pool para este par de mints en este nivel de comisión. Búscalo antes de crear.
  • insufficient funds — Tu billetera no tiene suficiente de MINT_A, MINT_B o SOL (para la comisión de creación del pool + alquiler).
  • Token-2022 extension not supported — Uno de tus mints usa una extensión que CPMM no acepta. Consulta reference/token-2022-support.

Después del despliegue

Puedes intercambiar inmediatamente contra el nuevo pool — el script Swap from CLI acepta tu nuevo POOL_ID directamente. Los agregadores (Jupiter, etc.) indexarán el nuevo pool dentro de minutos.

Siguiente