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.
本文件中的所有內容都假設你已經安裝好 Solana 開發工具鏈。本頁列出了必需工具、截至 2026 年 4 月已知可與 Raydium 正常配合工作的最低版本,以及設定過程中的常見問題。在執行後續章節的程式碼範例前,請先閱讀此頁。
核心工具
Solana CLI
用於與 Solana 區塊鏈互動的標準命令列介面,支援錢包管理、RPC 呼叫和程式部署。
安裝:
sh -c "$(curl -sSfL https://release.solana.com/v1.18.22/install)"
# 或安裝最新穩定版:
sh -c "$(curl -sSfL https://release.solana.com/stable/install)"
驗證:
solana --version # → solana-cli 1.18.22 (或更新版本)
設定主網:
solana config set --url https://api.mainnet-beta.solana.com
solana config set --keypair ~/.config/solana/id.json
solana-keygen new # 若你還沒有錢包,請建立一個
solana address # 顯示你的公鑰
測試 Raydium 時,你幾乎總是需要一個有資金的開發網錢包:
solana config set --url https://api.devnet.solana.com
solana airdrop 2 # 用於測試的 2 SOL
SPL Token CLI
用於 SPL Token / Token-2022 操作的官方命令列工具,包括建立鑄幣、鑄造代幣和轉帳。
安裝(已包含在 Solana CLI 中):
常見操作:
spl-token create-token # 建立 SPL Token 鑄幣
spl-token create-token --program-id TOKEN_2022 ... # 建立 Token-2022 鑄幣
spl-token create-account <MINT> # 建立 ATA
spl-token mint <MINT> 1000 # 將 1000 代幣鑄造至你的 ATA
spl-token transfer <MINT> 100 <RECIPIENT> # 轉帳 100 個代幣
spl-token display <ACCOUNT_OR_MINT> # 檢視詳情
Anchor CLI
用於獲取 Raydium IDL、構建用戶端和驗證程式。
安裝:
cargo install --git https://github.com/coral-xyz/anchor avm --locked
avm install 0.30.1
avm use 0.30.1
anchor --version
常見操作:
anchor idl fetch <PROGRAM_ID> -o program.idl.json # 獲取鏈上 IDL
anchor idl init -f idl.json <PROGRAM_ID> # 上傳 IDL
anchor build # 從源程式碼構建程式
TypeScript 設定
Raydium 的主要整合方式。
npm install \
@solana/web3.js \
@solana/spl-token \
@coral-xyz/anchor \
@raydium-io/raydium-sdk-v2 \
bn.js \
decimal.js
截至 2026 年 4 月已知能夠相互配合的版本:
| 套件 | 版本 |
|---|
@solana/web3.js | ≥1.95 |
@solana/spl-token | ≥0.4 |
@coral-xyz/anchor | ≥0.30 |
@raydium-io/raydium-sdk-v2 | ≥0.2.42-alpha |
最小指令碼
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);
完整的 SDK 參考請見 sdk-api/typescript-sdk。
Rust 設定
用於 CPI 整合和鏈上程式開發。
工具鏈
rustup install 1.76.0 # 或 Anchor 當前要求的版本
rustup component add rustfmt clippy
solana-install init 1.18.22 # 包含 BPF 工具鏈
Raydium CPI 整合的程式 Cargo.toml
[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"] }
"cpi" 功能會匯入帶有 CPI 幫助函數的 cpi 模組(這樣你可以使用 raydium_cp_swap::cpi::swap_base_input(...))。詳見 sdk-api/rust-cpi。
Python 設定
次要整合方式,常用於機器人開發者。
pip install solders solana-py anchorpy
pip install raydium-py # 社群 Raydium SDK (非官方)
版本:
| 套件 | 版本 |
|---|
solders | ≥0.21 |
solana-py | ≥0.34 |
anchorpy | ≥0.21 |
raydium-py | ≥0.2.1 |
最小指令碼
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)
# 載入 IDL 和程式
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)
詳見 sdk-api/python-integration。
RPC 端點
公開的主網 RPC (api.mainnet-beta.solana.com) 受到嚴格的速率限制,在較重的負載下會被節流。若要正式使用,請獲取私有端點:
| 供應商 | 說明 |
|---|
| Helius | 最受歡迎;免費額度慷慨。 |
| Triton | 企業級;高級定價,穩定可靠。 |
| QuickNode | 穩定可靠;亞秒級延遲。 |
| 自有 RPC 節點 | 硬體成本約 $500/月;完全可控。 |
設定:
const connection = new Connection("https://mainnet.helius-rpc.com/?api-key=...");
某些 RPC 操作需要特殊功能:
getProgramAccounts — 無限制的掃描成本較高;某些提供商會限制或按掃描次數收費。
getPriorityFeeEstimate — Helius 特定端點;其他提供商有等效功能。
geyser / WebSocket 串流 — 低延遲機器人需要;並非所有提供商都支援。
開發網和本地網
開發網
Solana 的公開測試區塊鏈。Raydium 在開發網上有部分部署:
- 存在一些 CPMM 池用於測試。
- AMM v4 有歷史開發網池。
- CLMM 有幾個演示池。
- Farm v6 已部署。
solana config set --url https://api.devnet.solana.com
solana airdrop 2
SDK 透過 cluster: "devnet" 支援開發網:
const raydium = await Raydium.load({ connection, owner, cluster: "devnet" });
注意:開發網池的流動性較低,可能存在過時的狀態。不要依賴開發網進行價格發現;僅將其用於構建和測試指令流。
帶有分叉主網狀態的本地網
為了進行更逼真的測試,可以將主網狀態分叉到本地驗證器:
solana-test-validator \
--url https://api.mainnet-beta.solana.com \
--clone CPMMoo8L3F4NbTegBCKVNunggL7H1Zpdmwpwh8KMoZ0F \
--clone CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK \
--clone <SOME_POOL_ID> \
--clone <SOME_MINT_ID>
這樣會將特定程式/帳戶狀態複製到本地主機,你可以在那裡自由交易。適用於:
- 針對真實的 Raydium 程式測試你的 CPI 整合。
- 使用修改後的參數重放交易以進行除錯。
- 使用大量合成交易量進行壓力測試。
Raydium 團隊在主網部署前廣泛使用分叉本地網進行迴歸測試。
專案範本
TypeScript 整合入門
my-raydium-app/
├── package.json
├── tsconfig.json
├── src/
│ ├── swap.ts # 交換範例
│ ├── add-liquidity.ts
│ └── read-pool.ts
└── .env # RPC URL、錢包路徑
最小的 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 程式入門
my-raydium-cpi/
├── Anchor.toml
├── Cargo.toml
├── programs/
│ └── my-cpi/
│ ├── Cargo.toml
│ └── src/lib.rs
└── tests/
└── my-cpi.ts
使用 Anchor 0.30:
anchor init my-raydium-cpi
cd my-raydium-cpi
# 在 Cargo.toml 中新增 raydium-cp-swap,並設定 features = ["cpi"]
anchor build
anchor test
實用的命令列工具
solana-keygen
solana-keygen new --outfile ./wallet.json # 產生密鑰
solana-keygen pubkey ./wallet.json # 顯示公鑰
讀取任何帳戶
solana account <ADDRESS> --output json-compact
用於快速查看池狀態,無需解碼器。
程式日誌
solana logs | grep CPMMoo8 # 跟蹤 CPMM 相關交易日誌
交易檢查
solana confirm <TX_SIGNATURE> -v # 格式化輸出日誌
或透過 explorer — 貼上簽名並查看「Program Logs」標籤。
環境衛生
為不同用途分開錢包
- 開發錢包:持有測試網 SOL,用於構建。
- 生產錢包:持有真實 SOL,僅用於部署/多簽提交。
- 機器人熱錢包:餘額小,權限受限。
密鑰不應該硬編碼。使用環境變數或密鑰管理器。
.env 模式
# .env (不提交)
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!);
版本釘選
鎖定所有 Solana 生態系統依賴項。生態系統發展迅速;@solana/web3.js 的次要版本更新曾引入破壞性變化。應認真使用 package-lock.json / Cargo.lock。
相關連結
來源: