Langsung ke konten utama

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 →
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):
spl-token --version
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:
PackageVersi
@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.

Toolchain

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:
PackageVersi
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:
ProviderCatatan
HeliusPaling populer; free tier generous.
TritonEnterprise; harga premium, stabil.
QuickNodeSolid; latency sub-per-second.
RPC node Anda sendiriBiaya ~$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: