Zum Hauptinhalt springen
Diese Seite wurde mit KI automatisch übersetzt. Maßgeblich ist stets die englische Version.Englische Version ansehen →
Versionsbanner. Alle Demos zielen auf @raydium-io/raydium-sdk-v2@0.2.42-alpha gegen Solana mainnet-beta ab, verifiziert 2026-04. Programm-ID: 675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8 (siehe reference/program-addresses).
Erstellung neuer Pools wird hier nicht gezeigt. Die Raydium-Benutzeroberfläche bietet keine AMM v4 Pool-Erstellung mehr — neue Paare verwenden standardmäßig CPMM. Das AMM v4-Programm selbst akzeptiert Initialize2 on-chain; es ist nur nicht der empfohlene Weg. Die folgenden Demos behandeln die Live-Pool-Operationen, die jeder Integrator noch benötigt: Swap, Deposit, Withdraw.

Setup

Pool nach ID abrufen

poolKeys ist die Struktur, die die Instruction Builder verwenden. Sie enthält jeden AMM v4 und OpenBook-Konto in der Reihenfolge, die das Programm erwartet.

Swap (Base-In)

Das SDK leitet AMM v4 Swaps durch die V2 Einstiegspunkte, die die OpenBook-Konten nicht enthalten. (Nach dem 2026-07 Upgrade werden die Market-Konten nicht einmal auf dem Legacy v1 Weg validiert.)

Swap (Base-Out)

Liquidität hinzufügen

fixedSide: "a" teilt dem SDK mit, dass Sie den genauen amountInA angegeben haben und amountInB höchstens maxAnotherAmount sein sollte. Die On-Book-Liquidität des Pools wird vor der Pro-Rata-Berechnung abgewickelt, sodass das Einzahlungsverhältnis den aktuellsten Reserven entspricht.

Liquidität entfernen

Slippage-Minima schützen davor, dass sich der Pool-Status zwischen Ihrer Vorquote und der Landungszeit verschiebt.

Compute-Unit / Priority-Fee-Abstimmung

AMM v4 Swaps sind rechenintensiv, da jede Instruction den vollständigen OpenBook-Status validiert. Ein typischer Swap verbraucht 180k–250k CU, je nachdem wie viele offene Orders auf dem Weg abgewickelt werden müssen. Geben Sie immer ein Compute-Unit-Limit an:
Wenn Sie computeBudgetConfig weglassen, kann das SDK dennoch sein eigenes Standard verwenden; überprüfen Sie innerTransactions zur Bestätigung. Siehe integration-guides/priority-fee-tuning.

Direkter Rust CPI

Wenn Sie von Ihrem eigenen Anchor-Programm aus in AMM v4 CPI aufrufen müssen, müssen Sie die Kontoliste von SwapBaseIn wörtlich modellieren. Eine minimale Skizze:
AMM v4 wird nicht mit einer Anchor-Crate für CPI ausgeliefert. Die obige Skizze verwendet eine manuell konstruierte Instruction.
Die CPI-Skizze oben verwendet das Legacy v1 SwapBaseIn Layout (Tag 9, 17 Konten) zum Lesen/Reproduzieren bestehender Transaktionen. Seit dem 2026-07 Upgrade werden die Market-Konten akzeptiert, aber ignoriert. Für neuen Code bevorzugen Sie SwapBaseInV2 / SwapBaseOutV2 (Tags 16 / 17), die die Market-Konten (und amm_open_orders) vollständig weglassen — übergeben Sie nur 8 Konten: token_program, amm, amm_authority, die beiden Pool-Vaults, die beiden Benutzer-Token-Konten und user_owner.

Fallstricke

  • Falsche Kontoanzahl bei v1 Swaps. Das Legacy SwapBaseIn / SwapBaseOut erfordert immer noch die vollständige 17-Konto- (oder 18-Konto-) Liste — eine nicht übereinstimmende Anzahl führt zu WrongAccountsNumber. Der Inhalt der Market-Konten wird nicht mehr validiert, aber Sie müssen ihre Slots dennoch belegen. Bevorzugen Sie die V2 Einstiegspunkte, um dies zu vermeiden.
  • Rohe Vault-Salden lesen. Reserven sind jetzt nur noch Vault-basiert; subtrahieren Sie aufgelaufene PnL (need_take_pnl_*). Das SDK-Quote oder api-v3.raydium.io/pools/info/ids kümmert sich darum für Sie.
  • Entfernte Instructions aufrufen. MonitorStep, MigrateToOpenBook, WithdrawSrm, SimulateInfo, AdminCancelOrders und Legacy Initialize / PreInitialize werden jetzt zurückgewiesen. Verwenden Sie Initialize2 für Pool-Erstellung; es gibt keinen Crank zum Aufrufen.
  • Token-2022 Mints. Nicht unterstützt. Ein AMM v4 Pool kann nicht gegen einen Token-2022 Mint erstellt werden; jedes Token-2022 Paar sollte auf CPMM oder CLMM sein.

Nächste Schritte

Quellen: