Skip to main content
本页内容由 AI 自动翻译,所有内容以英文版本为准。查看英文版 →
本文档中的所有内容都假设你已有一套可用的 Solana 开发工具链。本页列出了工具、截至 2026 年 9 月已知与 Raydium 兼容的版本,以及特定的设置注意事项。在运行后续章节中的任何代码示例之前,请从这里开始。 有两套版本需要关注,它们并不相同。 要构建或 fork Raydium 程序,你需要它们所固定的确切工具链——Rust 1.91.0、Agave 3.1.10、Anchor 1.0.2(截至 2026-09-09 升级)。要从 TypeScript 或 Python 集成已部署的程序,你只需要一个足够新的客户端库来与它们通信,版本固定是可选的。下面每个部分都说明了它涵盖的情况。

核心工具

Solana CLI

与 Solana 集群交互的规范命令行界面——钱包管理、RPC 调用、程序部署。 安装:
验证:
安装主机已迁移。 release.solana.com 属于 Solana Labs;客户端现在由 Anza 维护,名为 Agave,发布版本来自 release.anza.xyz。自更新二进制文件是 agave-install(solana-install 保留为旧版别名),所以 agave-install update 和 agave-install init <version> 是当前的拼写。Solana 自己的文档也提供了一个一键安装程序,可以一起拉取 CLI、Rust 和 Anchor:
该安装程序跟踪自己的当前版本概念,可能会给你一个与 Raydium 程序所固定的 Anchor 不同的版本——之后检查 anchor --version。
为主网配置:
对于 Raydium 测试,你几乎总是需要一个有资金的 devnet 钱包:

SPL Token CLI

用于 SPL Token / Token-2022 操作的官方 CLI——创建 mint、铸造代币、转账。 安装(包含在 Solana CLI 中):
常见操作:

Anchor CLI

获取 Raydium IDL、构建客户端和验证程序所需。 安装:
Anchor 已迁移仓库和主版本。 规范仓库现在是 github.com/solana-foundation/anchor(之前是 coral-xyz/anchor),Anchor 1.0 是 Raydium 程序使用的第一个发布线——CPMM 和 LaunchLab 都在 2026-09-09 升级时固定 anchor-lang/anchor-spl 为 =1.0.2,从 0.32.1 升级。avm 可以保存多个版本;avm use 1.0.2 是使 anchor build 重现 Raydium 工件的方式。Anchor 1.1 和 1.2 存在并为你自己的程序构建良好,但针对与目标程序所固定的 anchor-lang 次版本不同的版本编译的 CPI crate 将无法链接——见 sdk-api/rust-cpi。
常见操作:

TypeScript 设置

Raydium 的主要集成路径。

包

截至 2026 年 9 月已知可以一起工作的版本:
@coral-xyz/anchor 已冻结;该包现在是 @anchor-lang/core。 @coral-xyz/anchor 在 Anchor 迁出 Coral 时停留在 0.32.1。Anchor 1.x 发布为 @anchor-lang/core,Raydium 自己的程序仓库在 2026-09-09 升级时将其测试套件切换到了它。你实际使用的导入保持不变——import { Program, BN, AnchorProvider } from "@anchor-lang/core"——所以迁移只是包重命名加锁文件更新。如果你从 0.3x 迁移,有两个行为说明:.accounts({...}) 现在只接受 Anchor 无法自己解析的账户,所以传递完整集合的构建器应该改为调用 .accountsPartial({...});@anchor-lang/core/dist/cjs/utils/token 是 ASSOCIATED_PROGRAM_ID 等辅助函数迁移到的地方。

最小脚本

完整 SDK 参考见 sdk-api/typescript-sdk。

Rust 设置

用于 CPI 集成和链上程序。

工具链

用 cargo build-sbf 构建程序(旧的 cargo build-bpf 拼写已消失)。

Raydium CPI 集成的程序 Cargo.toml

用 = 将 anchor-lang 和 anchor-spl 固定到目标程序所固定的版本。截至 2026-09 CPMM 固定 =1.0.2,CLMM 仍固定 =0.32.1,所以单个 crate 无法 CPI 到两者——见 sdk-api/rust-cpi。 "cpi" 特性导入带有 CPI 辅助函数的 cpi 模块(所以你可以 raydium_cp_swap::cpi::swap_base_input(...))。见 sdk-api/rust-cpi。

Python 设置

次要集成路径——对机器人开发者常见。

包

版本:
两个命名陷阱。RPC 客户端导入为 solana,但项目叫 solana-py——pip install solana-py 安装不了有用的东西。而且 PyPI 上没有 raydium-py 包:社区 Raydium 辅助工具是你克隆的仓库,AL-THE-BOT-FATHER/raydium_py,不是已发布的发行版。本页的早期版本列出了一个 pip install raydium-py 行,但它从未工作过。

最小脚本

见 sdk-api/python-integration。

RPC 端点

公共主网 RPC(api.mainnet-beta.solana.com)受到严格速率限制,在任何负载下都会被限流。对于非平凡的使用,获取私有端点: 配置:
某些 RPC 操作需要扩展功能:
  • getProgramAccounts — 无限制扫描很昂贵;某些提供商限制或按扫描收费。
  • getPriorityFeeEstimate — Helius 特定端点;其他提供商有等效功能。
  • geyser / WebSocket 流——低延迟机器人需要;不是所有提供商都暴露它。

Devnet 和 localnet

Devnet

Solana 的公共测试集群。Raydium 有部分 devnet 部署:
  • 存在一些 CPMM 池用于测试。
  • AMM v4 有历史 devnet 池。
  • CLMM 有几个演示池。
  • Farm v6 已部署。
SDK 通过 cluster: "devnet" 支持 devnet:
注意:devnet 池流动性稀薄,可能有陈旧状态。不要依赖 devnet 进行价格发现;仅用于构建和测试指令流。

使用 fork 主网状态的 Localnet

为了进行现实的测试,将主网状态 fork 到本地验证器:
这会将特定的程序/账户状态克隆到 localhost,你可以在那里自由交易。理想用于:
  • 针对真实 Raydium 程序对你的 CPI 集成进行单元测试。
  • 使用修改的参数重放交易以调试。
  • 用大型合成交易量进行压力测试。
Raydium 团队在主网部署前广泛使用 fork localnet 进行回归测试。

项目模板

TypeScript 集成启动器

最小 package.json:

Anchor CPI 程序启动器

使用 Anchor 1.0:

有用的 CLI 工具

solana-keygen

读取任何账户

用于在没有解码器的情况下查看池状态。

程序日志

交易检查

或通过 explorer——粘贴签名并查看”Program Logs”选项卡。

环境卫生

为不同目的分离钱包

  • 开发钱包:持有 testnet SOL,用于构建。
  • 生产钱包:持有真实 SOL,仅用于部署/multisig 提交。
  • 机器人热钱包:小余额,权限有限。
密钥不应该硬编码。使用环境变量或密钥管理器。

.env 模式

版本固定

锁定所有 Solana 生态系统依赖。生态系统发展迅速;@solana/web3.js 的次版本升级以前引入过破坏性变化。虔诚地使用 package-lock.json / Cargo.lock。

指针

来源: