Documentation Index
Fetch the complete documentation index at: https://docs.raydium.io/llms.txt
Use this file to discover all available pages before exploring further.
Diese Seite wurde mit KI automatisch übersetzt. Maßgeblich ist stets die englische Version.Englische Version ansehen →
Versionsinformationen
- SDK:
@raydium-io/raydium-sdk-v2@0.2.42-alpha - Netzwerk: mainnet-beta
- Router-Programm-ID:
routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS - Verifiziert: April 2026
Beispiel 1: SDK-basiertes Routing
Quelle:src/trade/routeSwap.ts
Das Raydium-SDK abstrahiert die Route-Erstellung. Verwenden Sie die Trade-Funktionen des SDKs, um eine Multi-Hop-Route zu erstellen und diese automatisch über den Router auszuführen.
Einrichtung
Multi-Hop-Swap erstellen
Das Routing in@raydium-io/raydium-sdk-v2 wird über raydium.tradeV2 bereitgestellt. Der End-to-End-Ablauf – Pool-Daten abrufen, Routen berechnen, nach Output sortieren und die Swap-Transaktion erstellen – ist nachfolgend dargestellt; dies entspricht dem kanonischen Beispiel in raydium-sdk-V2-demo/src/trade/routeSwap.ts.
Erwartetes Verhalten
Das SDK kümmert sich um:- Route-Erkennung über AMM v4, CPMM, CLMM und Stable AMM.
- Kontoherleitungen (Pool-States, Vaults, Observation-Konten, ATA-Vorerstellung).
- Instruction-Packing für das Router-Programm (
Router) bei Multi-Hop-Routen oder Direct-Pool-Swaps, wenn ein einzelner Pool bereits den besten Preis bietet. - Slippage-Durchsetzung über den Parameter
slippageingetAllRouteComputeAmountOut.
raydium.tradeV2.swap kann mehr als eine transaction zurückgeben – die erste initialisiert häufig zwischengeschaltete ATAs und die zweite führt den Swap durch. Übergeben Sie sequentially: true an execute(), um sicherzustellen, dass sie in der richtigen Reihenfolge bestätigt werden.
Beispiel 2: Manuelle Instruction-Erstellung (Rust-ähnliches Pseudocode)
Falls Sie feinere Kontrolle benötigen oder ein Programm erstellen, das sich in den Router einklinkt, konstruieren Sie Instructions manuell. Das Beispiel unten verwendet Tag 8 (SwapBaseIn) – die empfohlene aktuelle Variante – und leitet über benutzergesteuerte ATAs von Anfang bis Ende weiter.
Szenario: USDC → SOL (CPMM) → mSOL (CPMM)
Schritt 1: ATAs des Benutzers herleiten
Schritt 2: Konten für jeden Hop sammeln
Hop 1 ist USDC/SOL auf CPMM. Hop 2 ist SOL/mSOL auf CPMM.Schritt 3: Instruction erstellen
Schritt 4: Transaktion senden
Beispiel 3: Fehlerbehandlung
Häufige Fehler und wie Sie diese beheben:ExceededSlippage
Der Output war geringer alsminimum_amount_out. Versuchen Sie es mit höherer Slippage-Toleranz oder erstellen Sie die Route neu.
SqrtPriceX64 (CLMM)
Ein CLMM-Hop ist außerhalb derlimit_prices-Grenzen abgewichen. Aktualisieren Sie die Grenzen und versuchen Sie es erneut.
InvalidOwner
Ein zwischengeschaltetes oder ausgehendes ATA gehört dem Aufrufer nicht. Der Router validiert die Inhaberschaft bei jedem Slot; stellen Sie sicher, dass jedes ATA, das Sie übergeben, von der Wallet des Benutzers abgeleitet wurde (nicht von irgendeiner anderen Autorität).Tipps und Best Practices
ATAs vorab erstellen
Bevor Sie zum ersten Mal über ein neues zwischengeschaltetes Token leiten, erstellen Sie das ATA des Benutzers, damit die Route die Validierung nicht fehlschlägt:CreateSyncNative (Tag 5) – es erstellt das ATA, überweist das SOL und synchronisiert alles in einer Instruction.
Vor der Ausführung abfragen
Fragen Sie die Pools immer ab und berechnen Sie den erwarteten Output, bevor Sie die Instruction erstellen:Verwenden Sie neuere Instruction-Varianten (8–9)
Die Tags 8 und 9 (SwapBaseIn und SwapBaseOut) sind nachsichtiger mit limit_prices. Nutzen Sie diese vorzugsweise vor den älteren Varianten, wenn Sie keine CLMM-Preisvalidation benötigen.
Nächste Schritte
products/routing/instructions– vollständige Instruction-Referenz.products/routing/accounts– Details zur Kontoherleitungen.products/cpmm/code-demos– CPMM-Swap-Beispiele zum Vergleich.reference/program-addresses– kanonische Programm-IDs und Devnet-Adressen.
@raydium-io/raydium-sdk-v2auf npmraydium-io/raydium-sdk-V2(Open Source)raydium-io/raydium-sdk-V2-demo– offizielle End-to-End-Demos einschließlichrouteSwap.ts- Der AMM-Routing-Programm-Quellcode ist nicht öffentlich verfügbar; überprüfen Sie die Programm-ID gegen die Live-API und den On-Chain-Bytecode


