Documentation Index
Fetch the complete documentation index at: https://docs.raydium.io/llms.txt
Use this file to discover all available pages before exploring further.
Halaman ini diterjemahkan secara otomatis oleh AI. Versi bahasa Inggris adalah acuan resmi.Lihat versi bahasa Inggris →
Instalasi
.d.ts bersama artefak JS-nya. Persyaratan minimum: Node 18+, TypeScript 5.0+, moduleResolution: "bundler" atau "node16".
Inisialisasi
Titik masuk adalahRaydium.load:
Raydium.load bersifat async karena ia mengambil muatan /config kecil dari api-v3.raydium.io saat startup (yang mencantumkan akun AmmConfig saat ini, tier biaya, dll). Tetapkan disableFeatureCheck: true di lingkungan offline; Anda harus memberikan nilai tersebut secara manual ke beberapa builder.
Empat modul facade
Setelah dimuat, objekraydium mengekspos empat modul facade, satu per permukaan produk:
trade dan token sebagai utilitas pendukung.)
Builder transaksi
Setiap fungsi mutasi mengembalikan builder daripada mengeksekusi segera:execute— fungsi kenyamanan yang menandatangani + mengirim. Setara denganbuilder.execute.builder— instansTxBuilderdengan semua instruksi dan penanda tangan terakumulasi. Panggil.build()untuk mendapatkanVersionedTransaction[]; berguna saat Anda perlu menyuntikkan instruksi sendiri atau menandatangani dengan penanda tangan eksternal.transaction/innerTransactions— larik instruksi mentah. Gunakan saat membangun transaksi multi-program yang disusun.extInfo— extras khusus produk. Misalnya,createPoolmengembalikanextInfo.poolId;createLaunchpadmengembalikan PDA status peluncuran baru.
txVersion mengontrol format transaksi legacy vs V0. V0 (address lookup tables) adalah rekomendasi default — memungkinkan swap yang lebih besar muat dalam satu transaksi.
Mengapa async builders?
Hampir setiap builder secara internal mengambil state on-chain: info pool (untuk quotes), kepemilikan program token (untuk Token-2022 vs routing SPL), rent-exemption akun (untuk pembuatan ATA), dll. SDK menyimpan cache secara agresif tetapi panggilan pertama untuk pool baru melibatkan round-trip RPC. Pertahankan instansraydium yang hidup lama untuk menghindari pengambilan ulang.
Penambahan modul CLMM (rilis terbaru)
Facade CLMM mendapatkan permukaan untuk fitur dynamic-fee baru, single-sided-fee, dan limit-order:raydium.clmm.createCustomizablePool— superset daricreatePoolyang menerimacollectFeeOn,enableDynamicFee, dandynamicFeeConfigId. Gunakan ini untuk pool baru apa pun yang memerlukan knob baru;createPoolklasik terus bekerja untuk pool dengan biaya default.raydium.clmm.openLimitOrder— buka limit order single-tick pada pool yang mendukungnya. MengambilpoolInfo,poolKeys,limitOrderConfig(dari/main/clmm-limit-order-config),inputMint,inputAmount, danticktarget.raydium.clmm.increaseLimitOrder/decreaseLimitOrder— sesuaikan bagian unfilled dari order yang ada. Menurun kembali pada order fully-filled denganInvalidOrderPhase.raydium.clmm.settleLimitOrder/settleAllLimitOrder— pindahkan output yang terisi ke ATA pemilik. Baik pemilik order maupun penjagalimit_order_adminpool dapat memanggilnya.raydium.clmm.closeLimitOrder/closeAllLimitOrder— tutup order yang fully-settled untuk memulihkan rent.raydium.api.getClmmDynamicConfigs()/getClmmLimitOrderConfigs()— helper REST yang mengenai endpoint/main/clmm-dynamic-configdan/main/clmm-limit-order-configbaru.
utils/ ke libraries/. Kode yang diimpor dari @raydium-io/raydium-sdk-v2/utils/... harus beralih ke @raydium-io/raydium-sdk-v2/libraries/.... Barrel paket tingkat atas tidak berubah, jadi sebagian besar pengguna tidak pernah melihat penggantian nama.
Panduan walkthrough TypeScript end-to-end tinggal di products/clmm/code-demos.
Perangkap umum
1. Ketidaksesuaian cluster
Konfigurasi startup SDK spesifik cluster. Menggabungkancluster: "mainnet" dengan Connection devnet menyebabkan mis-routing senyap: SDK membuat quote terhadap AmmConfig mainnet tetapi mengirim ke devnet. Selalu berikan keduanya.
2. Lupa pra-membuat ATA
Pada interaksi pertama dengan mint, Associated Token Account pengguna mungkin tidak ada. SDK secara otomatis menambahkan instruksiAssociatedTokenAccount::create saat mendeteksi ATA yang hilang, yang mengorbankan sejumlah kecil rent. Jika dompet Anda rendah SOL ini akan gagal senyap. Periksa dan danai sebelum mencoba ulang.
3. poolInfo basi
poolInfo adalah snapshot yang di-cache. Jika state pool telah berubah sejak Anda mengambilnya (perdagangan besar memindahkan harga, katakanlah), minAmountOut swap mungkin dihitung terhadap state lama dan mendarat di bawah amount-out on-chain, reverting. Ambil ulang poolInfo segera sebelum membangun transaksi bernilai tinggi, atau gunakan computeAmountOut SDK yang me-query ulang reserves.
4. Priority fees
SDK tidak menambahkan compute-unit prices secara default. Di jendela volume tinggi (peluncuran pool baru, acara meme-coin) ini berarti transaksi Anda bersaing dengan banyak yang lain dan mungkin tidak landing. BerikancomputeBudgetConfig eksplisit:
integration-guides/priority-fee-tuning untuk panduan sizing.
5. Toleransi slippage harus sesuai tipe pool
CPMM dan AMM v4 adalah matematik CPMM (dampak rendah pada perdagangan normal). CLMM adalah piecewise (dampak melompat pada tick crossings). Jika Anda menyalin toleransi slippage 0,5% dari contoh CPMM ke swap CLMM yang melintasi beberapa tick, transaksi kemungkinan akan revert.computeAmountOut SDK mengembalikan priceImpact; ukuran toleransi Anda di atasnya.
6. BN vs number
Semua bidang amount dalam SDK adalah instans bn.js BN — tidak pernah JavaScript number. Konversi nilai amount melalui .toNumber() secara senyap memotong di 2^53; untuk nilai apa pun di atas ~9 kuadriliun (tidak jarang pada mint 9-decimal), ini menghasilkan hasil yang salah. Pertahankan semuanya dalam BN hingga render UI final.
Kebijakan versioning
@raydium-io/raydium-sdk-v2adalah satu-satunya SDK yang Raydium pertahankan. Semua docs, demos, dan panduan integrasi menargetkannya.- Paket v1 yang lebih lama (
@raydium-io/raydium-sdk) ada di npm untuk alasan historis. Maintenance berakhir setelah CPMM dan LaunchLab diluncurkan (v1 tidak pernah mendapatkan dukungan untuk keduanya), dan tidak ada rilis v1 sejak 2024. Perlakukan v1 sebagai end-of-life: jangan gunakan untuk kode baru, dan migrasikan integrasi v1 yang tersisa ke v2. - SDK v2 adalah pre-1.0. Perubahan breaking antara rilis minor 0.x adalah mungkin; pin versi yang telah Anda verifikasi dan periksa catatan rilis GitHub saat upgrade.
Upgrade
Saat upgrade antara versi minor SDK:- Periksa kembali tipe return dari setiap panggilan mutasi — perubahan shape (misalnya
extInfo) mendarat sering. - Regenerasi signature pengambilan
poolInfo— bidang mungkin telah diganti nama. - Verifikasi ulang penanganan slippage Anda; SDK telah bergeser antara perilaku auto-bound dan opt-in bound di seluruh rilis.
- Jika Anda menggunakan
raydium.trade(routing), verifikasi ulang bentuk route — ini adalah bagian paling tidak stabil dari permukaan.
Mendapatkan bantuan
Untuk pertanyaan SDK dan API:- GitHub issues — file di github.com/raydium-io/raydium-sdk-V2/issues untuk bug dan permintaan fitur. Tim Raydium memantau secara aktif.
- Discord — saluran
#dev-supportdi discord.gg/raydium untuk bantuan sinkron. - Telegram — developer chat terhubung dari raydium.io (hindari grup Telegram yang tidak terverifikasi).
security/disclosure.
Pointers
sdk-api/rest-api— komplemen HTTP ke SDK.sdk-api/trade-api— transaksi swap yang dibangun server.sdk-api/anchor-idl— regenerasi klien langsung dari program IDL.sdk-api/python-integration— ekuivalen Python melaluisolana-py.integration-guides/priority-fee-tuning— sizingcomputeBudgetConfig.
- Raydium SDK v2 source
- Catatan rilis Raydium SDK.


