跳转到主要内容

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.

本页内容由 AI 自动翻译,所有内容以英文版本为准。查看英文版 →
本文档的所有内容都假设你已经配置好了可用的 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 测试,通常需要一个充足余额的 devnet 钱包:
solana config set --url https://api.devnet.solana.com
solana airdrop 2                            # 空投 2 SOL 用于测试

SPL Token CLI

用于 SPL Token 和 Token-2022 操作的官方 CLI——创建 mint、铸造代币、转账。 安装(已包含在 Solana CLI 中):
spl-token --version
常见操作:
spl-token create-token                                  # 创建 SPL Token mint
spl-token create-token --program-id TOKEN_2022 ...      # 创建 Token-2022 mint
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 流 — 低延迟机器人所需;并非所有提供商都支持。

Devnet 和 localnet

Devnet

Solana 的公共测试集群。Raydium 在 devnet 有部分部署:
  • 存在一些用于测试的 CPMM 流动性池。
  • AMM v4 有历史 devnet 池。
  • CLMM 有几个演示池。
  • Farm v6 已部署。
solana config set --url https://api.devnet.solana.com
solana airdrop 2
SDK 通过 cluster: "devnet" 支持 devnet:
const raydium = await Raydium.load({ connection, owner, cluster: "devnet" });
注意:devnet 池流动性稀薄,可能状态陈旧。不要依赖 devnet 进行价格发现;仅用于构建和测试指令流程。

使用 Forked 主网状态的 Localnet

为了更真实地测试,可以将主网状态 fork 到本地验证器:
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 团队在主网部署前广泛使用 forked localnet 进行回归测试。

项目模板

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

有用的 CLI 工具

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

相关链接

资源: