Langsung ke konten utama
Halaman ini diterjemahkan secara otomatis oleh AI. Versi bahasa Inggris adalah acuan resmi.Lihat versi bahasa Inggris →

Informasi versi

  • SDK: @raydium-io/raydium-sdk-v2@0.2.42-alpha
  • Jaringan: mainnet-beta
  • ID program router: routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS
  • Terverifikasi: April 2026

Contoh 1: Routing berbasis SDK

Sumber: src/trade/routeSwap.ts SDK Raydium mengabstraksi pembangunan route. Gunakan fungsi trade SDK untuk menyusun route multi-hop dan menjalankannya melalui router secara otomatis.

Pengaturan

Bangun swap multi-hop

Routing dalam @raydium-io/raydium-sdk-v2 tersedia di raydium.tradeV2. Bentuk end-to-end — mengambil data pool, menghitung route, memberi peringkat berdasarkan output, dan membangun transaksi swap — ditampilkan di bawah; ini sesuai dengan contoh kanonik dalam raydium-sdk-V2-demo/src/trade/routeSwap.ts.

Perilaku yang diharapkan

SDK menangani:
  • Penemuan route di seluruh AMM v4, CPMM, CLMM, dan Stable AMM.
  • Derivasi akun (status pool, vault, akun observasi, pre-creation ATA).
  • Packing instruksi untuk program router (Router) ketika route multi-hop, atau swap pool langsung ketika satu pool sudah memberikan harga terbaik.
  • Penegakan slippage melalui parameter slippage pada getAllRouteComputeAmountOut.
raydium.tradeV2.swap dapat mengembalikan lebih dari satu transaction — yang pertama umumnya menginisialisasi ATA menengah dan yang kedua melakukan swap itu sendiri. Selalu berikan sequentially: true ke execute() agar mereka dikonfirmasi secara berurutan.

Contoh 2: Pembangunan instruksi mentah (pseudocode mirip Rust)

Jika Anda memerlukan kontrol yang lebih baik atau membangun program yang CPI ke router, konstruksikan instruksi secara manual. Contoh di bawah menggunakan tag 8 (SwapBaseIn) — varian Current yang direkomendasikan — dan merutekan melalui ATA milik pengguna dari ujung ke ujung.

Skenario: USDC → SOL (CPMM) → mSOL (CPMM)

Langkah 1: Turunkan ATA pengguna

Langkah 2: Kumpulkan akun untuk setiap hop

Hop 1 adalah USDC/SOL pada CPMM. Hop 2 adalah SOL/mSOL pada CPMM.

Langkah 3: Bangun instruksi

Langkah 4: Kirim transaksi


Contoh 3: Penanganan kesalahan

Kesalahan umum dan cara untuk memulihkan:

ExceededSlippage

Output lebih kecil dari minimum_amount_out. Coba lagi dengan toleransi slippage yang lebih tinggi atau minta ulang route.

SqrtPriceX64 (CLMM)

Harga hop CLMM bergeser di luar batas limit_prices. Perbarui batas dan coba lagi.

InvalidOwner

ATA menengah atau output tidak dimiliki oleh pemanggil. Router memvalidasi kepemilikan di setiap slot; pastikan setiap ATA yang Anda berikan diturunkan dari dompet pengguna (bukan dari otoritas lain manapun).

Tips dan praktik terbaik

Pre-create ATA menengah

Sebelum merutekan melalui token menengah baru untuk pertama kalinya, buat ATA pengguna sehingga route tidak gagal validasi:
Untuk wSOL khususnya, lebih suka CreateSyncNative (tag 5) — itu membuat ATA, mentransfer SOL, dan menyinkronkan dalam satu instruksi.

Minta kutipan sebelum mengeksekusi

Selalu lakukan query pool dan hitung output yang diharapkan sebelum membangun instruksi:

Gunakan varian instruksi yang lebih baru (8–9)

Tag 8 dan 9 (SwapBaseIn dan SwapBaseOut) lebih toleran dengan limit_prices. Lebih suka keduanya daripada varian legacy jika Anda tidak memerlukan validasi harga CLMM.

Ke mana selanjutnya

Sumber: