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 →
Banner de versión.
  • SDK: @raydium-io/raydium-sdk-v2@0.2.42-alpha
  • Cluster: Solana mainnet-beta
  • Program ID: consulta reference/program-addresses
  • Última verificación: 2026-04
Fija la versión del SDK en tu package.json. La interfaz de la curva de vinculación ha evolucionado entre versiones menores.

Configuración

Las demostraciones aquí reflejan archivos en raydium-sdk-V2-demo/src/launchpad. El arranque sigue el config.ts.template del repositorio de demostración:

Crear un lanzamiento

Fuente: src/launchpad/createMint.ts (y createBonkMintApi.ts para la variante Bonk impulsada por API)
Notas:
  • initialK es el factor de escala para la curva cuadrática. Ajústalo para dirigirse a un precio CPMM de apertura específico en la graduación. Consulta products/launchlab/bonding-curve para la derivación.
  • El SDK maneja la creación del mint base, el PDA de metadatos y ambas bóvedas en una sola transacción. Puede exceder 1232 bytes si la URI de metadatos es larga; en ese caso el SDK se divide en dos transacciones.
  • Después de Initialize, el lanzamiento no es comercializable hasta openTime. Establece openTime un minuto o dos adelante para dar a los adelantados menos oportunidad de obtener la primera compra.

Obtener estado de lanzamiento

getLaunchById devuelve el LaunchState decodificado más la fracción de “progreso hacia la graduación” calculada como Decimal.

Comprar — quote exacto de entrada

Fuente: src/launchpad/buy.ts
computeBuyBase refleja el solucionador Newton en cadena (curva cuadrática) o el CPMM-inverso de forma cerrada (curve_type 1). Úsalo para rellenar el campo de UI “Recibirás”.

Comprar — salida base exacta

Útil para UIs “comprar exactamente X tokens”. Se rechaza con ExceededSlippage si la curva se ha movido lo suficiente como para que el requisito de quote ahora exceda maximumQuoteIn.

Vender

Fuente: src/launchpad/sell.ts
El camino de venta de la curva es simétrico al camino de compra: reducir base_sold por baseIn devuelve quote_out igual al área integrada bajo la curva entre base_sold − baseIn y base_sold, menos la comisión de venta.

Auto-graduación en la compra de cruce de umbral

El SDK encadena una instrucción Graduate dentro de la transacción buy* cuando detecta que el estado posterior a la compra cruzará el umbral:
Dado que Graduate no requiere permisos, cualquiera (incluido un bot MEV) puede competir para aterrizar el primer Graduate después de cruzar el umbral — típicamente segundos después, no minutos. El primer ganador simplemente paga la renta de las cuentas del pool CPMM; no obtiene ningún otro beneficio.

Graduate Manual

Si autoGraduate estaba desactivado o la transacción de cruce de umbral falló, puedes activar la graduación por separado:
Se revierte con NotAtThreshold si quote_reserve_real < quote_reserve_target en el momento del envío. Seguro de reintentos — un segundo intento de Graduate después del éxito se revierte con NotActive.

Recaudar comisiones de creador

Fuente: src/launchpad/claimCreatorFee.ts (mint individual) y collectAllCreatorFees.ts (lotificado)
Transfiere la cantidad del contador de comisión de creador acumulado a la ATA del creador en el mint de quote. Puede llamarse antes o después de la graduación; úsalo periódicamente en lugar de esperar a que se acumule un saldo enorme.

Seguir un lanzamiento a través de su ciclo de vida

Juntándolo todo, un script de monitoreo podría verse así:

CPI de Rust

Llamar a LaunchLab desde tu propio programa Anchor es raro (la mayoría de integraciones de lanzamiento son solo en el lado TS). Si lo haces, el programa incluye un crate Anchor raydium_launchlab con cpi::accounts::Buy, cpi::accounts::Sell, etc. — el patrón refleja los ejemplos de CPI de CPMM / CLMM. Consulta sdk-api/rust-cpi para una plantilla generalizada una vez que este sitio se complete.

Trampas

  • Aritmética de división de comisiones fuera por uno. Si total_share no es exactamente lp_share + creator_share + protocol_share, Initialize se revierte con InvalidFeeShares. Establece totalShare igual a la suma.
  • Usar un mint de quote no permitido. launch_config.allowed_quote_mints es una lista fija; pasar cualquier otro mint se revierte. Comprueba primero con raydium.launchpad.getConfig().
  • Tamaño de metadatos. Las cadenas uri largas hacen que el CPI de Metaplex supere el presupuesto. Mantén uri por debajo de ~200 caracteres — la mayoría de metadatos JSON alojados en CDN caben fácilmente.
  • Carrera de graduación. Los bots automatizados monitorean quote_reserve_real y se adelantan a Graduate dentro de uno o dos slots después del cruce de umbral. Esto es benigno — solo les cuesta renta — pero significa que tu UI debe tratar las transiciones de status como eventos rápidos.

Hacia dónde ir a continuación

Fuentes: