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 - ID du programme : voir
reference/program-addresses - Dernière vérification : 2026-04
package.json. L’interface de la courbe de liaison a évolué entre les versions mineures.Configuration
Les démos ici reflètent les fichiers dansraydium-sdk-V2-demo/src/launchpad. L’amorçage suit le config.ts.template du dépôt de démo :
Créer un lancement
Source :src/launchpad/createMint.ts (et createBonkMintApi.ts pour la variante Bonk pilotée par API)
initialKest le facteur d’échelle pour la courbe quadratique. Réglez-le pour cibler un prix CPMM d’ouverture spécifique à la diplomation. Voirproducts/launchlab/bonding-curvepour la dérivation.- Le SDK gère la création du mint de base, du PDA de métadonnées et des deux coffres-forts dans 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 n’est pas négociable jusqu’àopenTime. DéfinissezopenTimeune ou deux minutes à l’avance pour donner moins de chances aux front-runners de saisir le premier achat.
Récupérer l’état du lancement
getLaunchById retourne le LaunchState décodé plus la fraction « progression vers la diplomation » calculée en tant que Decimal.
Acheter — devis exact en entrée
Source :src/launchpad/buy.ts
computeBuyBase reflète le solveur Newton sur chaîne (courbe quadratique) ou l’inverse CPMM de forme fermée (curve_type 1). Utilisez-le pour remplir le champ « Vous recevez » de l’interface utilisateur.
Acheter — base exacte en sortie
ExceededSlippage si la courbe a bougé suffisamment pour que l’exigence de devis dépasse maintenant maximumQuoteIn.
Vendre
Source :src/launchpad/sell.ts
base_sold par 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.
Diplôme automatique lors de l’achat de franchissement de seuil
Le SDK enchaîne une instructionGraduate dans la transaction buy* lorsqu’il détecte que l’état post-achat franchira le seuil :
Graduate est sans permission, n’importe qui (y compris un bot MEV) peut faire la course pour atterrir le premier Graduate après le franchissement du seuil — généralement quelques secondes plus tard, pas des minutes. Le premier arrivant paie simplement le loyer des comptes du pool CPMM ; ils ne reçoivent aucun autre avantage.
Graduate manuel
Si autoGraduate était désactivé ou si la transaction de franchissement de seuil a échoué, vous pouvez déclencher la diplomation séparément :
NotAtThreshold si quote_reserve_real < quote_reserve_target au moment de la soumission. Sûr pour les tentatives — une deuxième tentative Graduate après succès revient avec NotActive.
Collecter les frais du créateur
Source :src/launchpad/claimCreatorFee.ts (mint unique) et collectAllCreatorFees.ts (par lot)
Suivre un lancement tout au long de son cycle de vie
En mettant tout ensemble, un script de surveillance pourrait ressembler à :Surveiller les configurations et les pools sur gRPC
Source :src/grpc/launchpadPoolInfo.ts
S’abonne au programme LaunchLab sur Yellowstone gRPC et enregistre chaque mise à jour GlobalConfig et PoolState avec le programme de token de chaque mint. Deux filtres datasize sur un abonnement accounts séparent les deux types de comptes, donc un seul flux couvre les deux.
La démo est la référence la plus courte et correcte pour classer les mints d’un lancement, ce que la version de quote-mint Token-2022 rend nécessaire :
- Les pools sont classés directement à partir de
PoolState.token_program_flag, en décodant le bit0 pour le mint de base et le bit1 pour le mint de devis sans aucune récupération de mint. Tester l’octet entier contre0— ce qui était suffisant alors que les mints de devis étaient hérités uniquement — mésinterprète un mint de base hérité comme Token-2022 chaque fois que le mint de devis est Token-2022. - Les configurations ne peuvent pas être classées de cette façon : un
GlobalConfigstocke l’adresse du mint de devis et aucun drapeau de programme, donc la démo lit le propriétaire du compte mint une fois et le met en cache par mint.
getProgramAccounts ; avec cet amorçage désactivé, lisez « créer » comme « d’abord vu sur ce flux ».
L’accès gRPC ne fait pas partie de la surface RPC publique — voir le src/grpc/README.md du dépôt de démo.
CPI Rust
Appeler LaunchLab à partir de votre propre programme Anchor est rare (la plupart des intégrations de lancement sont côté TS uniquement). Si vous le faites, le programme expédie une caisse Anchorraydium_launchlab avec cpi::accounts::Buy, cpi::accounts::Sell, etc. — le motif 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 d’un. Si
total_sharen’est pas exactementlp_share + creator_share + protocol_share,Initializerevient avecInvalidFeeShares. DéfinisseztotalShareégal à la somme. - Utiliser un mint de devis non autorisé.
launch_config.allowed_quote_mintsest une liste fixe ; passer n’importe quel autre mint revient. Vérifiez d’abord avecraydium.launchpad.getConfig(). - Taille des métadonnées. Les longues chaînes
uripoussent le CPI Metaplex au-delà du budget. Gardezurisous ~200 caractères — la plupart des métadonnées JSON hébergées sur CDN s’adaptent facilement. - Course de diplomation. Les bots automatisés surveillent
quote_reserve_realet font la course avantGraduatedans un ou deux emplacements du franchissement du seuil. C’est bénin — cela ne leur coûte que le loyer — mais cela signifie que votre interface utilisateur doit traiter les transitionsstatuscomme des événements rapides.
Où aller ensuite
products/launchlab/bonding-curve— mathématiques de la courbe.products/cpmm/code-demos— quoi faire avec le pool résultant.user-flows/launch-token-launchlab— le guide de lancement de token de bout en bout, y compris les étapes hors chaîne.
- Raydium SDK v2
- Source du programme Raydium LaunchLab

