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.
Seluruh dokumentasi ini mengasumsikan Anda memiliki toolchain pengembangan Solana yang berfungsi. Halaman ini mencantumkan alat yang diperlukan, versi minimum yang diketahui kompatibel dengan Raydium per April 2026, dan gotcha spesifik dalam setup. Mulai dari sini sebelum menjalankan contoh kode di bab-bab selanjutnya.
Alat inti
Solana CLI
Command-line interface kanonik untuk berinteraksi dengan cluster Solana — manajemen wallet, RPC call, deployment program.
Instalasi:
sh -c "$(curl -sSfL https://release.solana.com/v1.18.22/install)"
# Atau versi stabil terbaru:
sh -c "$(curl -sSfL https://release.solana.com/stable/install)"
Verifikasi:
solana --version # → solana-cli 1.18.22 (atau lebih baru)
Konfigurasi untuk mainnet:
solana config set --url https://api.mainnet-beta.solana.com
solana config set --keypair ~/.config/solana/id.json
solana-keygen new # buat wallet jika Anda belum punya
solana address # public key Anda
Untuk testing Raydium, Anda hampir selalu memerlukan wallet devnet yang terfunding:
solana config set --url https://api.devnet.solana.com
solana airdrop 2 # 2 SOL untuk testing
SPL Token CLI
CLI resmi untuk operasi SPL Token / Token-2022 — membuat mint, minting token, transfer.
Instalasi (sudah termasuk dengan Solana CLI):
Operasi umum:
spl-token create-token # buat SPL Token mint
spl-token create-token --program-id TOKEN_2022 ... # buat Token-2022 mint
spl-token create-account <MINT> # buat ATA
spl-token mint <MINT> 1000 # mint 1000 token ke ATA Anda
spl-token transfer <MINT> 100 <RECIPIENT> # transfer 100
spl-token display <ACCOUNT_OR_MINT> # inspeksi
Anchor CLI
Diperlukan untuk fetch Raydium IDL, membangun klien, dan verifikasi program.
Instalasi:
cargo install --git https://github.com/coral-xyz/anchor avm --locked
avm install 0.30.1
avm use 0.30.1
anchor --version
Operasi umum:
anchor idl fetch <PROGRAM_ID> -o program.idl.json # fetch IDL on-chain
anchor idl init -f idl.json <PROGRAM_ID> # upload IDL
anchor build # build program dari source
Setup TypeScript
Path integrasi utama untuk Raydium.
Package
npm install \
@solana/web3.js \
@solana/spl-token \
@coral-xyz/anchor \
@raydium-io/raydium-sdk-v2 \
bn.js \
decimal.js
Versi yang diketahui bekerja bersama per April 2026:
| Package | Versi |
|---|
@solana/web3.js | ≥1.95 |
@solana/spl-token | ≥0.4 |
@coral-xyz/anchor | ≥0.30 |
@raydium-io/raydium-sdk-v2 | ≥0.2.42-alpha |
Script minimal
import { Connection, Keypair } from "@solana/web3.js";
import { Raydium } from "@raydium-io/raydium-sdk-v2";
const connection = new Connection("https://api.mainnet-beta.solana.com", "confirmed");
const owner = Keypair.fromSecretKey(/* your key */);
const raydium = await Raydium.load({
connection,
owner,
cluster: "mainnet",
disableFeatureCheck: true,
});
const poolInfo = await raydium.api.fetchPoolById({ id: "..." });
console.log(poolInfo);
Lihat sdk-api/typescript-sdk untuk referensi SDK lengkap.
Setup Rust
Untuk integrasi CPI dan program on-chain.
rustup install 1.76.0 # atau apa pun yang Anchor saat ini memerlukan
rustup component add rustfmt clippy
solana-install init 1.18.22 # toolchain BPF termasuk
Program Cargo.toml untuk integrasi Raydium CPI
[dependencies]
anchor-lang = "0.30.1"
anchor-spl = "0.30.1"
raydium-cp-swap = { version = "0.2", features = ["cpi"] }
raydium-clmm = { version = "0.1", features = ["cpi"] }
Fitur "cpi" mengimpor modul cpi dengan helper CPI (sehingga Anda dapat raydium_cp_swap::cpi::swap_base_input(...)). Lihat sdk-api/rust-cpi.
Setup Python
Path integrasi sekunder — umum untuk pengembang bot.
Package
pip install solders solana-py anchorpy
pip install raydium-py # community Raydium SDK (bukan official)
Versi:
| Package | Versi |
|---|
solders | ≥0.21 |
solana-py | ≥0.34 |
anchorpy | ≥0.21 |
raydium-py | ≥0.2.1 |
Script minimal
from solana.rpc.async_api import AsyncClient
from solders.keypair import Keypair
from anchorpy import Provider, Wallet, Program
async def main():
conn = AsyncClient("https://api.mainnet-beta.solana.com")
owner = Keypair()
wallet = Wallet(owner)
provider = Provider(conn, wallet)
# Load IDL and program
with open("cpmm.idl.json") as f:
idl = json.load(f)
program = Program(idl, CPMM_PROGRAM_ID, provider)
pool = await program.account["PoolState"].fetch(pool_id)
print(pool)
Lihat sdk-api/python-integration.
RPC endpoint
Public mainnet RPC (api.mainnet-beta.solana.com) dibatasi rate dengan berat dan akan throttle di bawah beban apa pun. Untuk penggunaan non-trivial, dapatkan endpoint private:
| Provider | Catatan |
|---|
| Helius | Paling populer; free tier generous. |
| Triton | Enterprise; harga premium, stabil. |
| QuickNode | Solid; latency sub-per-second. |
| RPC node Anda sendiri | Biaya ~$500/bulan hardware; kontrol penuh. |
Konfigurasi:
const connection = new Connection("https://mainnet.helius-rpc.com/?api-key=...");
Beberapa operasi RPC memerlukan capability extended:
getProgramAccounts — scan tanpa batasan mahal; beberapa provider membatasi atau mencharge per scan.
getPriorityFeeEstimate — endpoint spesifik Helius; yang lain punya equivalent.
geyser / WebSocket streaming — diperlukan untuk bot low-latency; bukan semua provider expose-nya.
Devnet dan localnet
Devnet
Public test cluster Solana. Raydium memiliki partial devnet deployment:
- Beberapa pool CPMM ada untuk testing.
- AMM v4 memiliki pool devnet historis.
- CLMM memiliki beberapa demo pool.
- Farm v6 di-deploy.
solana config set --url https://api.devnet.solana.com
solana airdrop 2
SDK mendukung devnet via cluster: "devnet":
const raydium = await Raydium.load({ connection, owner, cluster: "devnet" });
Caveat: pool devnet memiliki likuiditas tipis dan mungkin memiliki state yang stale. Jangan andalkan devnet untuk price discovery; gunakan hanya untuk building-and-testing-instruction flows.
Localnet dengan forked mainnet state
Untuk testing realistis, fork mainnet state ke local validator:
solana-test-validator \
--url https://api.mainnet-beta.solana.com \
--clone CPMMoo8L3F4NbTegBCKVNunggL7H1Zpdmwpwh8KMoZ0F \
--clone CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK \
--clone <SOME_POOL_ID> \
--clone <SOME_MINT_ID>
Ini clone program/account state spesifik ke localhost, di mana Anda dapat bertransaksi secara bebas. Ideal untuk:
- Unit-testing integrasi CPI Anda melawan program Raydium real.
- Replay transaksi dengan parameter modified untuk debug.
- Stress-testing dengan volume synthetic besar.
Tim Raydium menggunakan forked localnet extensively untuk regression testing sebelum mainnet deployment.
Project template
TypeScript integration starter
my-raydium-app/
├── package.json
├── tsconfig.json
├── src/
│ ├── swap.ts # swap example
│ ├── add-liquidity.ts
│ └── read-pool.ts
└── .env # RPC URL, wallet path
Minimal package.json:
{
"name": "my-raydium-app",
"type": "module",
"scripts": { "swap": "tsx src/swap.ts" },
"dependencies": {
"@raydium-io/raydium-sdk-v2": "^0.2.42-alpha",
"@solana/web3.js": "^1.95",
"@solana/spl-token": "^0.4"
},
"devDependencies": {
"@types/node": "^20",
"tsx": "^4",
"typescript": "^5"
}
}
Anchor CPI program starter
my-raydium-cpi/
├── Anchor.toml
├── Cargo.toml
├── programs/
│ └── my-cpi/
│ ├── Cargo.toml
│ └── src/lib.rs
└── tests/
└── my-cpi.ts
Dengan Anchor 0.30:
anchor init my-raydium-cpi
cd my-raydium-cpi
# add raydium-cp-swap ke Cargo.toml dengan features = ["cpi"]
anchor build
anchor test
Utility CLI berguna
solana-keygen
solana-keygen new --outfile ./wallet.json # generate key
solana-keygen pubkey ./wallet.json # show public key
Membaca account apa pun
solana account <ADDRESS> --output json-compact
Berguna untuk melihat pool state tanpa decoder.
Program logs
solana logs | grep CPMMoo8 # tail CPMM-related tx logs
Transaction inspection
solana confirm <TX_SIGNATURE> -v # pretty-prints logs
Atau via explorer — paste signature dan lihat tab “Program Logs”.
Environment hygiene
Separate wallet per tujuan
- Development wallet: memegang testnet SOL, digunakan untuk building.
- Production wallet: memegang real SOL, hanya digunakan untuk deploy / multisig submission.
- Hot wallet untuk bot: balance kecil, permission narrow.
Key tidak boleh hardcoded. Gunakan environment variable atau secret manager.
.env pattern
# .env (not committed)
SOLANA_RPC_URL=https://mainnet.helius-rpc.com/?api-key=...
WALLET_PATH=/Users/you/.config/solana/id.json
import { config } from "dotenv";
config();
const connection = new Connection(process.env.SOLANA_RPC_URL!);
Version pinning
Lock semua Solana-ecosystem dependency. Ekosistem bergerak cepat; minor version bump @solana/web3.js sebelumnya telah introduce breaking change. Gunakan package-lock.json / Cargo.lock dengan seksama.
Pointer
Sumber: