Skip to main content
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.64-alpha gegen Solana mainnet-beta ab, verifiziert 2026-09-09 — jeder Builder-Name, Parametername und Parametertyp unten wurde gegen den Quellcode dieser Version und gegen raydium-sdk-V2-demo/src/amm überprüft. Program ID: 675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8 (siehe reference/program-addresses).Zwei Fallstricke, die die meisten ersten Integrationen treffen: Der slippage von computeAmountOut ist eine einfache Zahl (0.005 = 0,5 %), keine Percent; und liquidity.swap erfordert inputMint als Base58-String.
Die 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 immer noch; 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 verbrauchen. Sie enthält jeden AMM v4-Account in der Reihenfolge, die das Programm erwartet, plus die Legacy-Market-Felder, die das aktuelle Programm positional akzeptiert, aber nicht mehr liest.

Swap (Base-In)

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

Swap (Base-Out)

Liquidität hinzufügen

fixedSide: "a" teilt dem SDK mit, dass Sie das genaue amountInA bereitgestellt haben und amountInB höchstens maxAnotherAmount sein sollte. Die Pro-Rata-Mathematik läuft auf den Vault-Bilanzen minus aufgelaufenem PnL — es gibt keine On-Book-Komponente mehr, die zuerst abgewickelt werden muss.

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

Seit der OpenBook-Entfernung validiert ein AMM v4 Swap keine Market-State mehr, daher ist ein V1 SwapBaseIn deutlich günstiger als früher — und SwapBaseInV2 (8 Accounts, keine Market-Platzhalter) ist noch günstiger. Messen Sie Ihren eigenen Pfad, anstatt sich auf historische Zahlen zu verlassen, und übergeben Sie immer ein explizites Compute-Unit-Limit:
Wenn Sie computeBudgetConfig weglassen, kann das SDK immer noch sein eigenes Standard verwenden; überprüfen Sie die zurückgegebene transaction, um dies zu bestätigen. Siehe integration-guides/priority-fee-tuning.

Direktes Rust CPI

Wenn Sie von Ihrem eigenen Anchor-Programm aus in AMM v4 CPI durchführen müssen, müssen Sie die Account-Liste 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 Accounts) zum Lesen/Reproduzieren bestehender Transaktionen. Seit dem Upgrade 2026-07 werden die Market-Accounts akzeptiert, aber ignoriert. Für neuen Code bevorzugen Sie SwapBaseInV2 / SwapBaseOutV2 (Tags 16 / 17), die die Market-Accounts (und amm_open_orders) vollständig weglassen — übergeben Sie nur 8 Accounts: token_program, amm, amm_authority, die zwei Pool-Vaults, die zwei Benutzer-Token-Accounts und user_owner.

Fallstricke

  • Falsche Account-Anzahl bei v1 Swaps. Das Legacy SwapBaseIn / SwapBaseOut erfordert immer noch die vollständige 17-Account- (oder 18-Account-) Liste — eine nicht übereinstimmende Anzahl wird mit WrongAccountsNumber zurückgewiesen. Der Inhalt der Market-Accounts wird nicht mehr validiert, aber Sie müssen ihre Slots immer noch belegen. Bevorzugen Sie die V2-Einstiegspunkte, um dies zu vermeiden.
  • Rohe Vault-Bilanzen lesen. Reserven sind jetzt nur noch Vault-basiert; subtrahieren Sie aufgelaufenes 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: