メインコンテンツへスキップ
このページは AI による自動翻訳です。すべての内容は英語版を正とします。英語版を表示 →
バージョン情報。 すべてのデモは @raydium-io/raydium-sdk-v2@0.2.42-alpha を対象とし、Solana mainnet-beta に対して検証済み(2026-04)。プログラム ID:675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8reference/program-addresses を参照)。
新規プール作成はここでは説明していません。 Raydium UI は AMM v4 プール作成を提供しなくなり、新しいペアはデフォルトで CPMM になります。AMM v4 プログラム自体は引き続きオンチェーンで Initialize2 を受け入れていますが、推奨されるパスではありません。以下のデモは、すべてのインテグレーターが必要とするライブプール操作をカバーしています:スワップ、デポジット、ウィズドロー。

セットアップ

ID でプールを取得

poolKeys はインストラクションビルダーが使用する構造体です。プログラムが期待する順序で、すべての AMM v4 および OpenBook アカウントを保持しています。

スワップ(ベースイン)

SDK は AMM v4 スワップを V2 エントリーポイント経由でルーティングします。これらは OpenBook アカウントを保持していません。(2026-07 アップグレード後、マーケットアカウントはレガシー v1 パスでも検証されなくなります。)

スワップ(ベースアウト)

リクイディティを追加

fixedSide: "a" は、正確な amountInA を指定し、amountInB は最大で maxAnotherAmount であることを SDK に伝えます。プールのオンブック流動性はプロラタ計算の前に決済されるため、デポジット比率は最新の準備金と一致します。

リクイディティを削除

スリッページ最小値は、プリクォートとランドタイム間でプールの状態が変わるのを防ぎます。

コンピュートユニット / プライオリティフィーの調整

AMM v4 スワップは、すべてのインストラクションが完全な OpenBook 状態を検証するため、コンピュート集約的です。典型的なスワップは、経路上でどれだけ多くのオープンオーダーを決済する必要があるかに応じて、180k~250k CU を使用します。常にコンピュートユニット制限を渡してください:
computeBudgetConfig を省略した場合、SDK は独自のデフォルトを使用する可能性があります。innerTransactions を検査して確認してください。integration-guides/priority-fee-tuning を参照してください。

直接 Rust CPI

独自の Anchor プログラムから AMM v4 に CPI する必要がある場合、SwapBaseIn のアカウントリストを逐語的にモデル化する必要があります。最小限のスケッチ:
AMM v4 は CPI 用の Anchor クレートを提供していません。上記のスケッチは手動で構築された Instruction を使用しています。
上記の CPI スケッチは、既存のトランザクションを読み取り/再現するために レガシー v1 SwapBaseIn レイアウト(タグ 9、17 アカウント)を使用しています。2026-07 アップグレード以降、マーケットアカウントは受け入れられていますが無視されます。新しいコードの場合は SwapBaseInV2 / SwapBaseOutV2 (タグ 16 / 17)を優先してください。これらはマーケットアカウント(および amm_open_orders)を削除し、8 つのアカウントのみを渡します:token_programammamm_authority、2 つのプールボルト、2 つのユーザートークンアカウント、および user_owner

よくある落とし穴

  • v1 スワップでのアカウント数の誤り。 レガシー SwapBaseIn / SwapBaseOut は引き続き完全な 17 アカウント(または 18 アカウント)リストを必要とします — 不一致の WrongAccountsNumber で戻ります。マーケットアカウントの 内容 はもはや検証されていませんが、それでもスロットを占める必要があります。これを避けるために V2 エントリーポイントを優先してください。
  • 生のボルト残高を読み取る。 リザーブはボルトのみになりました。累積 PnL(need_take_pnl_*)を差し引いてください。SDK クォートまたは api-v3.raydium.io/pools/info/ids がこれを処理します。
  • 削除されたインストラクションを呼び出す。 MonitorStepMigrateToOpenBookWithdrawSrmSimulateInfoAdminCancelOrders、およびレガシー Initialize / PreInitialize は現在戻ります。プール作成には Initialize2 を使用してください。呼び出すクランクはありません。
  • Token-2022 ミント。 サポートされていません。AMM v4 プールは Token-2022 ミントに対して作成できません。Token-2022 ペアは CPMM または CLMM にある必要があります。

次のステップ

ソース: