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 - ID del programa: consulta
reference/program-addresses - Última verificación: 2026-04
package.json. La interfaz de la curva de vinculación ha evolucionado entre versiones menores.Configuración
Las demostraciones aquí reflejan archivos enraydium-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)
initialKes el factor de escala para la curva cuadrática. Ajústalo para apuntar a un precio CPMM de apertura específico en la graduación. Consultaproducts/launchlab/bonding-curvepara 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 el URI de metadatos es largo; en ese caso, el SDK se divide en dos transacciones.
- Después de
Initialize, el lanzamiento no es comercializable hastaopenTime. EstableceopenTimeun minuto o dos adelante para dar menos oportunidad a los adelantados de agarrar la primera compra.
Obtener el estado del lanzamiento
getLaunchById devuelve el LaunchState decodificado más la fracción calculada de “progreso hacia la graduación” como un Decimal.
Comprar — cotización exacta dentro
Fuente:src/launchpad/buy.ts
computeBuyBase refleja el solucionador Newton en cadena (curva cuadrática) o la inversa CPMM de forma cerrada (curve_type 1). Úsalo para rellenar el campo de UI “Recibirás”.
Comprar — base exacta fuera
ExceededSlippage si la curva se ha movido lo suficiente como para que el requisito de cotización ahora exceda maximumQuoteIn.
Vender
Fuente:src/launchpad/sell.ts
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.
Graduación automática en la compra de cruce de umbral
El SDK encadena una instrucciónGraduate dentro de la transacción buy* cuando detecta que el estado posterior a la compra cruzará el umbral:
Graduate no requiere permiso, cualquiera (incluyendo un bot MEV) puede competir para aterrizar el primer Graduate después de que se cruce el umbral — típicamente segundos después, no minutos. El primer aterrizador solo paga la renta de las cuentas del pool CPMM; no obtienen ningún otro beneficio.
Graduate manual
Si autoGraduate estaba desactivado o la transacción de cruce de umbral falló, puedes disparar la graduación por separado:
NotAtThreshold si quote_reserve_real < quote_reserve_target en el momento del envío. Seguro para reintentos — un segundo intento de Graduate después del éxito revierte con NotActive.
Cobrar comisiones del creador
Fuente:src/launchpad/claimCreatorFee.ts (mint único) y collectAllCreatorFees.ts (por lotes)
Rastrear un lanzamiento a través de su ciclo de vida
Juntándolo todo, un script de monitoreo podría verse así:Observar configuraciones y pools sobre gRPC
Fuente:src/grpc/launchpadPoolInfo.ts
Se suscribe al programa LaunchLab sobre gRPC de Yellowstone y registra cada actualización de GlobalConfig y PoolState con el programa de token de cada mint. Dos filtros datasize en una suscripción accounts separan los dos tipos de cuenta, por lo que un único flujo cubre ambos.
La demostración es la referencia más corta y correcta para clasificar los mints de un lanzamiento, lo que el lanzamiento de quote-mint de Token-2022 hace necesario:
- Pools se clasifican directamente desde
PoolState.token_program_flag, decodificando bit0 para el mint base y bit1 para el mint de cotización sin obtener el mint en absoluto. Probar todo el byte contra0— que fue suficiente mientras los mints de cotización eran solo heredados — malinterpreta un mint base heredado como Token-2022 siempre que el mint de cotización sea Token-2022. - Configs no se pueden clasificar de esa manera: un
GlobalConfigalmacena la dirección del mint de cotización y ninguna bandera de programa, por lo que la demostración lee el propietario de la cuenta del mint una vez y lo almacena en caché por mint.
create versus update se infiere de los cachés propios de la demostración, sembrados al inicio desde getProgramAccounts; con esa siembra deshabilitada, lee “create” como “visto por primera vez en este flujo”.
El acceso a gRPC no es parte de la superficie RPC pública — consulta el src/grpc/README.md del repositorio de demostración.
CPI de Rust
Llamar a LaunchLab desde tu propio programa Anchor es raro (la mayoría de las integraciones de lanzamiento son solo del lado de TS). Si lo haces, el programa envía un crate Anchorraydium_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 esté poblado.
Trampas
- Aritmética de división de comisiones fuera por uno. Si
total_shareno es exactamentelp_share + creator_share + protocol_share,Initializerevierte conInvalidFeeShares. EstablecetotalShareigual a la suma. - Usar un mint de cotización no permitido.
launch_config.allowed_quote_mintses una lista fija; pasar cualquier otro mint revierte. Verifica primero conraydium.launchpad.getConfig(). - Tamaño de metadatos. Las cadenas
urilargas empujan el CPI de Metaplex sobre el presupuesto. Manténuribajo ~200 caracteres — la mayoría de los metadatos JSON alojados en CDN caben fácilmente. - Carrera de graduación. Los bots automatizados monitorean
quote_reserve_realy adelantanGraduatedentro de un slot o dos del cruce de umbral. Esto es benigno — solo les cuesta renta — pero significa que tu UI debe tratar las transiciones destatuscomo eventos rápidos.
Dónde ir a continuación
products/launchlab/bonding-curve— matemáticas de la curva.products/cpmm/code-demos— qué hacer con el pool resultante.user-flows/launch-token-launchlab— la guía de lanzamiento de token de extremo a extremo, incluyendo pasos fuera de la cadena.
- Raydium SDK v2
- Fuente del programa Raydium LaunchLab

