Diese Seite wurde mit KI automatisch übersetzt. Maßgeblich ist stets die englische Version.Englische Version ansehen →
Versionsbanner.
- SDK:
@raydium-io/raydium-sdk-v2@0.2.42-alpha - Cluster: Solana
mainnet-beta - Program ID: siehe
reference/program-addresses - Zuletzt überprüft: 2026-04
package.json. Die Bonding-Curve-Schnittstelle hat sich zwischen Minor-Releases weiterentwickelt.Setup
Die Demos hier spiegeln Dateien inraydium-sdk-V2-demo/src/launchpad wider. Das Bootstrap folgt der config.ts.template des Demo-Repos:
Einen Launch erstellen
Quelle:src/launchpad/createMint.ts (und createBonkMintApi.ts für die API-gesteuerte Bonk-Variante)
initialKist der Skalierungsfaktor für die quadratische Kurve. Passen Sie ihn an, um einen bestimmten CPMM-Eröffnungspreis bei der Graduation anzusteuern. Sieheproducts/launchlab/bonding-curvefür die Herleitung.- Das SDK erstellt den Base-Mint, die Metadaten-PDA und beide Vaults in einer einzigen Transaktion. Es kann 1232 Bytes überschreiten, wenn der Metadaten-URI lang ist; in diesem Fall teilt das SDK in zwei Transaktionen auf.
- Nach
Initializeist der Launch nicht handelbar, bisopenTimeerreicht ist. Setzen SieopenTimeeine oder zwei Minuten in die Zukunft, um Front-Runnern weniger Chancen zu geben, den ersten Kauf zu schnappen.
Launch-Status abrufen
getLaunchById gibt den dekodierten LaunchState plus den berechneten „Fortschritt zur Graduation”-Bruch als Decimal zurück.
Kauf — exakte Quote rein
Quelle:src/launchpad/buy.ts
computeBuyBase spiegelt den On-Chain-Newton-Solver (quadratische Kurve) oder die geschlossene CPMM-Inverse (curve_type 1) wider. Verwenden Sie es, um das UI-Feld „Sie erhalten” zu füllen.
Kauf — exakte Base raus
ExceededSlippage ab, wenn sich die Kurve so weit bewegt hat, dass die Quote-Anforderung jetzt maximumQuoteIn überschreitet.
Verkauf
Quelle:src/launchpad/sell.ts
base_sold um baseIn gibt quote_out gleich der integrierten Fläche unter der Kurve zwischen base_sold − baseIn und base_sold, minus der Verkaufsgebühr.
Automatische Graduation beim Schwellenwert-Kauf
Das SDK verkettete eineGraduate-Anweisung in der buy*-Transaktion, wenn es erkennt, dass der Post-Buy-Status den Schwellenwert überschreitet:
Graduate erlaubnisfrei ist, kann jeder (einschließlich eines MEV-Bots) versuchen, die erste Graduate nach dem Schwellenwertüberschreitung zu landen — typischerweise Sekunden später, nicht Minuten. Der Erste zahlt nur die Miete für die CPMM-Pool-Konten; sie erhalten keinen anderen Vorteil.
Manuelle Graduate
Wenn autoGraduate ausgeschaltet war oder die Schwellenwert-Überschreitungs-Transaktion fehlgeschlagen ist, können Sie die Graduation separat auslösen:
NotAtThreshold zurückgewiesen, wenn quote_reserve_real < quote_reserve_target zum Zeitpunkt der Einreichung. Wiederholung sicher — ein zweiter Graduate-Versuch nach Erfolg wird mit NotActive zurückgewiesen.
Creator-Gebühren einziehen
Quelle:src/launchpad/claimCreatorFee.ts (einzelner Mint) und collectAllCreatorFees.ts (Batch)
Einen Launch durch seinen Lebenszyklus verfolgen
Alles zusammen könnte ein Überwachungsskript so aussehen:Konfigurationen und Pools über gRPC überwachen
Quelle:src/grpc/launchpadPoolInfo.ts
Abonniert das LaunchLab-Programm über Yellowstone gRPC und protokolliert jedes GlobalConfig- und PoolState-Update mit dem Token-Programm jedes Mints. Zwei datasize-Filter auf einem accounts-Abonnement trennen die beiden Kontotypen, sodass ein einzelner Stream beide abdeckt.
Die Demo ist die kürzeste korrekte Referenz zum Klassifizieren der Mints eines Launches, was die Token-2022-Quote-Mint-Veröffentlichung notwendig macht:
- Pools werden direkt aus
PoolState.token_program_flagklassifiziert, wobei Bit0 für den Base-Mint und Bit1 für den Quote-Mint dekodiert werden, ohne dass ein Mint-Abruf erforderlich ist. Das Testen des gesamten Bytes gegen0— was ausreichend war, während Quote-Mints nur Legacy waren — missinterpretiert einen Legacy-Base-Mint als Token-2022, wenn der Quote-Mint Token-2022 ist. - Configs können auf diese Weise nicht klassifiziert werden: Ein
GlobalConfigspeichert die Adresse seines Quote-Mints und kein Programm-Flag, daher liest die Demo das Owner-Feld des Mint-Kontos einmal und speichert es pro Mint.
getProgramAccounts gespeichert werden; wenn diese Seeding deaktiviert ist, lesen Sie „create” als „zuerst auf diesem Stream gesehen”.
gRPC-Zugriff ist nicht Teil der öffentlichen RPC-Oberfläche — siehe die src/grpc/README.md des Demo-Repos.
Rust CPI
Das Aufrufen von LaunchLab aus Ihrem eigenen Anchor-Programm ist selten (die meisten Launch-Integrationen sind nur TS-seitig). Falls Sie dies tun, wird das Programm mit einer Anchor-Crateraydium_launchlab mit cpi::accounts::Buy, cpi::accounts::Sell usw. ausgeliefert — das Muster spiegelt die CPMM-/CLMM-CPI-Beispiele wider. Siehe sdk-api/rust-cpi für eine verallgemeinerte Vorlage, sobald diese Website gefüllt ist.
Fallstricke
- Fee-Split-Arithmetik Off-by-One. Wenn
total_sharenicht genaulp_share + creator_share + protocol_shareist, wirdInitializemitInvalidFeeShareszurückgewiesen. Setzen SietotalSharegleich der Summe. - Verwendung eines nicht zulässigen Quote-Mints.
launch_config.allowed_quote_mintsist eine feste Liste; die Übergabe eines anderen Mints wird zurückgewiesen. Überprüfen Sie zuerst mitraydium.launchpad.getConfig(). - Metadatengröße. Lange
uri-Strings drücken die Metaplex-CPI über das Budget. Halten Sieuriunter ~200 Zeichen — die meisten CDN-gehosteten JSON-Metadaten passen leicht. - Graduations-Rennen. Automatisierte Bots überwachen
quote_reserve_realund front-runGraduateinnerhalb eines oder zwei Slots nach dem Schwellenwertüberschreitung. Dies ist harmlos — es kostet sie nur Miete — aber es bedeutet, dass Ihre UIstatus-Übergänge als schnelle Ereignisse behandeln sollte.
Wo es weitergeht
products/launchlab/bonding-curve— Kurven-Mathematik.products/cpmm/code-demos— was Sie mit dem resultierenden Pool tun können.user-flows/launch-token-launchlab— der End-to-End-Leitfaden zum Starten eines Tokens, einschließlich Off-Chain-Schritte.
- Raydium SDK v2
- Raydium LaunchLab-Programmquelle

