Skip to main content
Halaman ini diterjemahkan secara otomatis oleh AI. Versi bahasa Inggris adalah acuan resmi.Lihat versi bahasa Inggris →
Versi banner. Semua demo menargetkan @raydium-io/raydium-sdk-v2@0.2.42-alpha terhadap Solana mainnet-beta, diverifikasi 2026-04. Program ID: 675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8 (lihat reference/program-addresses).
Pembuatan pool baru tidak ditampilkan di sini. UI Raydium tidak lagi menawarkan pembuatan pool AMM v4 — pasangan baru default ke CPMM. Program AMM v4 itu sendiri masih menerima Initialize2 on-chain; hanya saja bukan jalur yang direkomendasikan. Demo di bawah mencakup operasi pool aktif yang setiap integrator masih butuhkan: swap, deposit, withdraw.

Setup

Ambil pool berdasarkan ID

poolKeys adalah struct yang dikonsumsi oleh instruction builder. Ia membawa setiap akun AMM v4 dan OpenBook dalam urutan yang diharapkan program.

Swap (base-in)

SDK merutekan swap AMM v4 melalui entrypoint V2, yang tidak membawa akun OpenBook. (Setelah upgrade 2026-07, akun market tidak lagi divalidasi bahkan pada jalur v1 legacy.)

Swap (base-out)

Tambah likuiditas

fixedSide: "a" memberitahu SDK bahwa Anda menyediakan amountInA yang tepat dan amountInB harus paling banyak maxAnotherAmount. Likuiditas on-book pool diselesaikan sebelum matematika pro-rata sehingga rasio deposit cocok dengan cadangan terbaru.

Hapus likuiditas

Slippage mins melindungi terhadap perubahan state pool antara pre-quote dan waktu landing Anda.

Tuning compute-unit / priority fee

Swap AMM v4 berat pada compute karena setiap instruction memvalidasi state OpenBook penuh. Swap tipikal menggunakan 180k–250k CU tergantung berapa banyak open order yang perlu diselesaikan dalam prosesnya. Selalu berikan batas compute-unit:
Jika Anda menghilangkan computeBudgetConfig, SDK mungkin masih menggunakan defaultnya sendiri; periksa innerTransactions untuk mengonfirmasi. Lihat integration-guides/priority-fee-tuning.

Direct Rust CPI

Jika Anda harus CPI ke AMM v4 dari program Anchor Anda sendiri, Anda perlu memodelkan daftar akun SwapBaseIn secara verbatim. Sketsa minimal:
AMM v4 tidak mengirimkan crate Anchor untuk CPI. Sketsa di atas menggunakan Instruction yang dibangun secara manual.
Sketsa CPI di atas menggunakan layout SwapBaseIn v1 legacy (tag 9, 17 akun) untuk membaca/mereproduksi transaksi yang ada. Sejak upgrade 2026-07 akun market diterima tetapi diabaikan. Untuk kode baru, lebih suka SwapBaseInV2 / SwapBaseOutV2 (tag 16 / 17), yang menghilangkan akun market (dan amm_open_orders) sepenuhnya — berikan hanya 8 akun: token_program, amm, amm_authority, dua vault pool, dua akun token pengguna, dan user_owner.

Jebakan

  • Jumlah akun salah pada swap v1. SwapBaseIn / SwapBaseOut legacy masih memerlukan daftar 17-akun (atau 18-akun) penuh — jumlah yang tidak cocok akan dikembalikan dengan WrongAccountsNumber. Isi akun market tidak lagi divalidasi, tetapi Anda masih harus mengisi slot mereka. Lebih suka entrypoint V2 untuk menghindari ini.
  • Membaca saldo vault mentah. Cadangan sekarang hanya vault; kurangi PnL yang terkumpul (need_take_pnl_*). Quote SDK atau api-v3.raydium.io/pools/info/ids menangani ini untuk Anda.
  • Memanggil instruction yang dihapus. MonitorStep, MigrateToOpenBook, WithdrawSrm, SimulateInfo, AdminCancelOrders, dan Initialize / PreInitialize legacy sekarang dikembalikan. Gunakan Initialize2 untuk pembuatan pool; tidak ada crank untuk dipanggil.
  • Mint Token-2022. Tidak didukung. Pool AMM v4 tidak dapat dibuat terhadap mint Token-2022; pasangan Token-2022 apa pun harus berada di CPMM atau CLMM.

Ke mana selanjutnya

Sumber: