Skip to main content
Cette page est traduite automatiquement par IA. La version anglaise fait foi.Voir la version anglaise →
Banneau de version.
  • SDK : @raydium-io/raydium-sdk-v2@0.2.42-alpha
  • Cluster : Solana mainnet-beta
  • Program ID : voir reference/program-addresses
  • Dernier contrôle : 2026-04
Épinglez la version du SDK dans votre package.json. L’interface de la courbe de liaison a évolué entre les mises à jour mineures.

Configuration

Les démonstrations ici reflètent les fichiers dans raydium-sdk-V2-demo/src/launchpad. L’amorçage suit le config.ts.template du dépôt de démonstration :

Créer un lancement

Source : src/launchpad/createMint.ts (et createBonkMintApi.ts pour la variante Bonk pilotée par l’API)
Notes :
  • initialK est le facteur d’échelle de la courbe quadratique. Ajustez-le pour cibler un prix CPMM d’ouverture spécifique à la graduation. Voir products/launchlab/bonding-curve pour la dérivation.
  • Le SDK gère la création du mint de base, de la PDA de métadonnées et des deux vaults en une seule transaction. Il peut dépasser 1232 octets si l’URI des métadonnées est long ; dans ce cas, le SDK se divise en deux transactions.
  • Après Initialize, le lancement ne peut pas être échangé jusqu’à openTime. Définissez openTime une ou deux minutes à l’avance pour donner moins de chances aux acheteurs en première ligne de saisir le premier achat.

Récupérer l’état du lancement

getLaunchById retourne le LaunchState décodé plus la fraction « progression vers la graduation » calculée sous forme de Decimal.

Acheter — montant exact de quote en entrée

Source : src/launchpad/buy.ts
computeBuyBase reflète le solveur Newton on-chain (courbe quadratique) ou l’inverse CPMM de forme fermée (curve_type 1). Utilisez-le pour remplir le champ UI « Vous recevrez ».

Acheter — montant exact de base en sortie

Utile pour les UI « acheter exactement X tokens ». Rejette avec ExceededSlippage si la courbe s’est déplacée suffisamment pour que l’exigence de quote dépasse désormais maximumQuoteIn.

Vendre

Source : src/launchpad/sell.ts
Le chemin de vente de la courbe est symétrique au chemin d’achat : réduire base_sold de baseIn retourne quote_out égal à la zone intégrée sous la courbe entre base_sold − baseIn et base_sold, moins les frais de vente.

Graduation automatique lors de l’achat qui franchit le seuil

Le SDK enchaîne une instruction Graduate à l’intérieur de la transaction buy* lorsqu’il détecte que l’état post-achat franchira le seuil :
Parce que Graduate n’a pas de permissions, n’importe qui (y compris un bot MEV) peut faire la course pour être le premier à exécuter Graduate après le franchissement du seuil — généralement quelques secondes plus tard, pas des minutes. Le premier arrivant paie simplement le loyer pour les comptes du pool CPMM ; il n’obtient aucun autre avantage.

Graduate manuel

Si autoGraduate était désactivé ou si la transaction de franchissement du seuil a échoué, vous pouvez déclencher la graduation séparément :
Revient avec NotAtThreshold si quote_reserve_real < quote_reserve_target au moment de la soumission. Sûr pour les nouvelles tentatives — une deuxième tentative de Graduate après le succès revient avec NotActive.

Collecter les frais du créateur

Source : src/launchpad/claimCreatorFee.ts (mint unique) et collectAllCreatorFees.ts (par lot)
Transfère le montant accumulé du compteur de frais du créateur à l’ATA du créateur sur le mint de quote. Peut être appelé avant ou après la graduation ; utilisez-le périodiquement plutôt que d’attendre qu’un énorme solde s’accumule.

Suivre un lancement tout au long de son cycle de vie

En mettant tout ensemble, un script de suivi pourrait ressembler à :

CPI Rust

Appeler LaunchLab depuis votre propre programme Anchor est rare (la plupart des intégrations de lancement sont uniquement côté TS). Si vous le faites, le programme expédie une caisse Anchor raydium_launchlab avec cpi::accounts::Buy, cpi::accounts::Sell, etc. — le modèle reflète les exemples CPI CPMM / CLMM. Voir sdk-api/rust-cpi pour un modèle généralisé une fois ce site rempli.

Pièges

  • Arithmétique de répartition des frais hors de un. Si total_share n’est pas exactement lp_share + creator_share + protocol_share, Initialize revient avec InvalidFeeShares. Définissez totalShare égal à la somme.
  • Utiliser un mint de quote non autorisé. launch_config.allowed_quote_mints est une liste fixe ; passer tout autre mint revient avec erreur. Vérifiez d’abord avec raydium.launchpad.getConfig().
  • Taille des métadonnées. Les longues chaînes uri poussent l’CPI Metaplex au-delà du budget. Gardez uri sous environ 200 caractères — la plupart des métadonnées JSON hébergées sur CDN s’ajustent facilement.
  • Course de graduation. Les bots automatisés surveillent quote_reserve_real et devancent Graduate dans un ou deux slots après le franchissement du seuil. C’est bénin — cela ne coûte à celui-ci que le loyer — mais cela signifie que votre UI doit traiter les transitions d’état comme des événements rapides.

Où aller ensuite

Sources :