Skip to main content
Diese Seite wurde mit KI automatisch übersetzt. Maßgeblich ist stets die englische Version.Englische Version ansehen →
Was dies tut. Lädt einen CPMM-Pool von der RPC, quotiert einen Swap mit 0,5% Slippage, erstellt die Transaktion, signiert mit Ihrem Keypair und sendet sie ab. End-to-End in etwa 30 Zeilen.

Setup

Stellen Sie sicher, dass Sie die Quick-Start-Voraussetzungen gelesen haben und RPC_URL, KEYPAIR sowie die Abhängigkeiten installiert sind.

Das Skript

Speichern Sie es als swap.mjs:
swap.mjs

Ausführung

Wählen Sie einen beliebigen CPMM-Pool, für den Sie Liquidität haben. Beispiel mit dem kanonischen SOL/USDC CPMM-Pool:
Erwartete Ausgabe:

Was ist gerade passiert

  1. Raydium.load initialisierte das SDK — holte die globale Konfiguration und richtete Ihren Wallet-Kontext ein.
  2. getPoolInfoFromRpc zog den aktuellen Pool-Status direkt von der RPC (nicht aus dem API-Cache). Bei wertvollen Swaps möchten Sie immer den aktuellen Status.
  3. CurveCalculator.swap berechnete die Constant-Product-Ausgabe abzüglich der Pool-Gebühr. Dies ist die gleiche Mathematik, die das Programm On-Chain ausführt, sodass Sie Quotes Off- und On-Chain vergleichen können.
  4. raydium.cpmm.swap erstellte die Transaktion im V0-Format (Address Lookup Tables aktiviert) und fügte eine explizite Compute-Budget-Konfiguration hinzu. Der Compute-Budget-Tip hilft der Transaktion, in ausgelasteten Zeitfenstern zu landen.
  5. execute({ sendAndConfirm: true }) signierte, sendete und wartete auf Bestätigung.

Häufige Fehler

  • Pool not found — Falsche POOL_ID, oder Sie zeigen auf den falschen Cluster (Mainnet-Pool-ID gegen Devnet-RPC usw.).
  • Insufficient funds for transaction — Ihr Wallet hat nicht genug SOL für die Swap-Eingabe + Gebühren + ATA-Miete.
  • Slippage tolerance exceeded — Der Pool-Preis hat sich zwischen Quote und Ausführung verschoben. Führen Sie erneut aus; oder erhöhen Sie den slippage-Parameter; oder verwenden Sie die computeAmountOut-Methode des SDK, die immer Reserven neu abruft.
  • Token account not initialized — Das ATA des Output-Tokens existierte nicht und die implizite Create-Anweisung landete, schlug aber aus irgendeinem Grund fehl; überprüfen Sie Ihren SOL-Saldo und versuchen Sie es erneut.

Nächste Schritte