> ## 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.

# 版本和迁移

> Raydium 各程序的版本发布历史、每个代的弃用状态，以及版本间的实际迁移路径。

<Info>
  **本页内容由 AI 自动翻译，所有内容以英文版本为准。**

  [查看英文版 →](/protocol-overview/versions-and-migration)
</Info>

<Info>
  Raydium 已运行五年。其中许多程序已经是第三或第四代。本页从运营者的角度回答："我应该使用哪个程序版本、旧版本的状态如何、如果我现在运行的是旧版本，我该如何升级到新版本？"
</Info>

## 概览

| 程序            | 当前版本    | 已弃用   | 新部署        | 现有实例               |
| ------------- | ------- | ----- | ---------- | ------------------ |
| **AMM v4**    | v4（仅一代） | 否     | 不建议但可接受    | 完全可用               |
| **CPMM**      | v1      | —     | **推荐默认**   | 完全可用               |
| **CLMM**      | v1      | —     | 推荐用于范围型 LP | 完全可用               |
| **Farm**      | v6      | v3、v5 | 仅 v6       | v3 + v5 逐步淘汰（主要只读） |
| **LaunchLab** | v1      | —     | 推荐用于新项目    | 完全可用               |

这个表格最重要的两点：**AMM v4 并未被弃用**，且 **CPMM 是新的默认选择** ——  但它们并存。AMM v4 池具有多年的交易历史，不会被强制迁移。选择在哪个程序上启动新池是一项建议，而非硬性要求。

## AMM v4 —— 状态和发展方向

AMM v4 是 Raydium 最初的池设计：恒定乘积定价（`x · y = k`）。它作为混合 AMM 推出，具有 OpenBook（原名 Serum）订单簿整合，可将曲线的部分内容镜像为约束市场上的限价单。**OpenBook 整合随后被停用** —— 池不再与 OpenBook 共享流动性，所有交换纯粹通过 V2 交换端点针对曲线执行。现在 AMM v4 实际上是一个纯粹的恒定乘积 AMM，OpenBook 账户仍作为不活跃状态保留。

### 已冻结的内容

* **没有新费率层级。** AMM v4 的费用结构是按池配置的，在部署时设定。新池接受相同的硬编码约 0.25% 交易费，约 12% 流向协议。
* **没有新功能开发。** 自 CPMM 成为新的默认选择以来，团队未向 AMM v4 添加新指令。该程序处于维护模式 ——  仅修复漏洞，无范围扩展。
* **不支持 Token-2022。** AMM v4 在 Token-2022 出现前编写，从未集成。Token-2022 铸币必须使用 CPMM（或 CLMM，酌情）。
* **OpenBook 整合已停用。** 每个 AMM v4 池仍链接到链上对应的 OpenBook 市场账户，但池不再在该市场上发布或维护订单。OpenBook 故障不再影响 AMM v4 交换。

### 仍在工作的内容

* **现有池正常交易。** 无强制状态迁移；2021 年创建的 v4 池仍是 2026 年许多高交易量交易对的活跃场所。
* **LP 可照常存入、提出和领取农场奖励。** 迁移到 CPMM 是可选的。
* **聚合器仍通过它路由。** Jupiter 和 Raydium 交易 API 都将 v4 池作为一级场所索引。

### 何时仍使用 AMM v4

坦白说：很少。v4 更好的情况很有限：

* 该交易对已有一个深、流动性充足的 v4 池，且你想向现有深度增加流动性，而不是分散市场。

（OpenBook 整合路由不再是选择 AMM v4 的理由 —— 该整合已关闭。）

在所有其他情况下，**在 CPMM 上启动新池。** 完整的决策树见 [`user-flows/choosing-a-pool-type`](/zh/user-flows/choosing-a-pool-type)。

## CPMM —— 采纳曲线和 v4 → CPMM 迁移

CPMM（恒定乘积做市商，内部名称 `raydium-cp-swap`）于 2024 年部署，是一次清洁型重写，旨在成为新的默认恒定乘积池。它在结构上是 Raydium 程序中最简单的：纯粹 `x · y = k`、无订单簿、原生 Token-2022 支持、较小的交易占用空间。

### CPMM 相比 AMM v4 的优势

* **更好的 LP 经济学。** CPMM 的默认 AmmConfig 将 100% 交易费路由给 LP（协议费可按层级切换）。AMM v4 硬编码约 12% 流向协议。
* **更低的池创建成本。** 无需 OpenBook 市场。创建为一笔交易，约 0.15 SOL 租赁费对比 v4 的约 0.6 SOL。
* **Token-2022 支持。** 转账费铸币、转账钩子铸币（有限制）、保密转账 —— 全部在 CPMM 上支持，v4 不支持。
* **更清洁的集成界面。** CPMM 有一个发布的 Anchor-CPI 友好的 crate（`raydium-cp-swap`）、更简单的账户列表和稳定的 IDL。AMM v4 附带 IDL 但从未有过维护的 Rust CPI crate。
* **每次交换的账户列表更小。** 约 10 个账户对比 v4 的约 17 个（即使不使用也需携带 OpenBook 市场账户）。

### 何时迁移值得

对于活跃交易的池，仅 LP 费用提升通常在几个月内就能证明迁移是值得的。算术如下：一个每日交易量为 \$X 的池赚取 0.25%，v4 上 0.03% 流向协议（缺失的 12%）。在 CPMM 上这部分回到 LP。在一年内这会产生可观的复合效应。

对于低交易量的池，迁移更多是为了未来做准备 —— 更好的默认值、Token-2022 支持（如果需要）、更容易的集成。

### 迁移如何工作

没有原地升级。迁移是一个*创建新池、清空旧池、填充新池*的序列。完整的逐步说明见 [`user-flows/migrate-amm-v4-to-cpmm`](/zh/user-flows/migrate-amm-v4-to-cpmm)；高层流程：

1. 为同一交易对在相同费率层级上创建新的 CPMM 池。
2. 协调 LP：宣布一个时间窗口，期间旧池被清空，新池被注入。
3. 每个 LP 从 v4 池提出并存入新的 CPMM 池。
4. （可选）在 CPMM 端设置农场以吸引激励的 LP 到新池。
5. 观察交易量随着聚合器向更深的池重新加权而迁移。

链本身不强制任何这些 —— Raydium 的 API 和前端简单地偏好更深的池，聚合器为用户路由最便宜的。

## CLMM —— 单个程序，版本间稳定

CLMM 处于其第一个程序版本。没有 v2 —— 改进作为对同一程序 ID 的原地升级（在 24 小时时间锁定多签后）发布，而不是新代。

这意味着**没有 CLMM 迁移故事**：现有头寸保留原地，升级发布时程序行为可能会略微改变，但账户布局和 PDA 是稳定的。

CLMM 升级间的变化：

* **`SwapV2` 指令**添加以正确支持 Token-2022 转账费数学。旧的 `Swap` 仍可调用；新集成应针对 `SwapV2`。
* **奖励流扩展** —— `RewardInfo` 插槽计数被提升（原始 3 → 目前仍为 3，但预留模式被收紧）。无需数据迁移。
* **Tick 数组压缩** —— 内部优化以减少交换跨越多个 ticks 的 CU。外部不可见。

IDL 存放在专用的 [`raydium-idl`](https://github.com/raydium-io/raydium-idl/blob/master/raydium_clmm/raydium_clmm.json) 代码库（见 [`sdk-api/anchor-idl`](/zh/sdk-api/anchor-idl)）。如果你运行较旧的 SDK 针对当前程序，最坏的情况是缺少新指令。

## Farm v3 → v5 → v6

在所有 Raydium 程序中，Farm 具有最明确的版本历史和唯一的强制迁移路径。三代是具有单独程序 ID 和单独状态布局的独立程序。

### 代数

| 版本     | 发布时间        | 状态                       | 关键特性                                                          |
| ------ | ----------- | ------------------------ | ------------------------------------------------------------- |
| **v3** | 2021        | **逐步淘汰。** 现有农场运行；不接受新农场。 | 单个奖励流。基于槽位的发放。                                                |
| **v5** | 2022 年 10 月 | **逐步淘汰。** 现有农场运行；不接受新农场。 | 最多 2 个奖励流。基于槽位的发放。整数 `per_second`。                            |
| **v6** | 2024        | **当前。** 所有新农场。           | 最多 5 个奖励流。壁钟时间发放。Q64.64 定点 `per_second`。Token-2022 质押 + 奖励支持。 |

### 为何存在三代

* **v3 → v5**：需要多个并发奖励流（例如双激励农场）。v3 的单流设计无法在不重新设计的情况下支持。
* **v5 → v6**：v5 的 `u64` 整数发放率上限最小可表达率为"每秒 1 个代币单位"。对于 9 位小数的铸币，那是 1 lamport/秒 —— 对于低发放程序来说太粗糙。v6 的 Q64.64 分数率解决了这个问题。v6 还将基于槽位的更新升级为壁钟时间，并添加了 Token-2022 支持。

### 代间保持一致的内容

* "存入 LP、累积每份额计数器、提出时领取"的会计模式在 v3/v5/v6 间相同。数学不变；仅速率计数器的精度和支持的流数量不同。
* `UserStake`（v3/v5）和 `UserLedger`（v6）在概念上是相同的记录，布局不同。SDK 规范化两者。

### 迁移路径

农场版本间没有原地迁移。从 v3/v5 迁移到 v6：

1. 等待现有农场的发放结束（或逐步运行）。
2. 质押者在旧农场上提出并领取待处理奖励。
3. 农场运营商针对相同质押铸币创建新的 v6 农场。
4. 质押者重新质押到新农场。

链上现实是两个无关的农场账户。在两个农场都有质押的用户有两个 `UserLedger`（v6）/ `UserStake`（v5）记录。

### v3 和 v5 的"逐步淘汰"意味着什么

* v3 和 v5 程序仍被部署且可调用。现有农场仍可分配待处理奖励并接受提出。
* Raydium UI 仍显示具有活跃奖励的 v3 和 v5 农场；一旦 v3/v5 农场的 `end_time` 通过，UI 将其从"活跃"中隐藏但保留可领取。
* 团队不会创建新的 v3/v5 农场。"创建农场"的 SDK 帮助程序仅路由到 v6。
* v3 和 v5 *接收安全升级但没有功能工作*。如果发现关键错误，则修复；如果某个功能有用，则添加到 v6。

每个版本的完整详情见 [`products/farm-staking/accounts`](/zh/products/farm-staking/accounts) 和 [`products/farm-staking/instructions`](/zh/products/farm-staking/instructions)。

## LaunchLab —— 单个程序，演进配置

LaunchLab 处于其第一个程序版本。与 CLMM 一样，改进作为在 24 小时时间锁定后的原地升级发布 —— 不作为新代。

升级间演进的内容：

* **创建者费用槽。** 添加以使启动可将毕业后 CPMM 交易费的一部分路由给原始创建者。见 [`products/launchlab/creator-fees`](/zh/products/launchlab/creator-fees)。
* **曲线公式可配置性。** 原本硬编码为二次；现在 `LaunchConfig` 从小的曲线形状集中选择。

现有 LaunchLab 启动不受升级影响 —— 启动初始化后，其参数冻结直到毕业。

## 跨程序版本兼容性

几个跨产品兼容性注意事项是集成者经常遇到的：

* **CLMM `SwapV2` 不是与 `Swap` 相同的指令。** 如果你的客户端仅说 `Swap`，它将静默地误处理 Token-2022 转账费 —— 数学由费用金额错误。更新到 `SwapV2`。
* **Farm v6 与 CLMM 头寸的质押**不像 LP 代币质押那样受支持。CLMM 头寸是 NFT，不是可替代的 LP 代币。CLMM 有其自己的原生奖励机制 —— 见 [`products/clmm/fees`](/zh/products/clmm/fees)。
* **由 Token-2022 铸币支持的 CPMM 池仅在 Farm v6 上运行于农场。** v3 和 v5 拒绝 Token-2022 质押铸币。
* **AMM v4 池从不有 Token-2022 LP 铸币。** 如果你看到，那是假的 —— AMM v4 不支持该组合。

## 进一步阅读

* [`introduction/history-and-milestones`](/zh/introduction/history-and-milestones) —— 时间顺序发布时间表和每个版本登场的原因。
* [`user-flows/migrate-amm-v4-to-cpmm`](/zh/user-flows/migrate-amm-v4-to-cpmm) —— v4 → CPMM 迁移的运营手册。
* [`user-flows/choosing-a-pool-type`](/zh/user-flows/choosing-a-pool-type) —— 新池部署的决策树。
* [`products/farm-staking/accounts`](/zh/products/farm-staking/accounts) —— v3 / v5 / v6 的并排架构。
* [`reference/changelog`](/zh/reference/changelog) —— 随着程序版本演进本文档的变化。

来源：

* 上面内联引用的按产品章节页面。
* [Raydium SDK v2](https://github.com/raydium-io/raydium-sdk-V2) —— 版本感知调度逻辑确认给定池属于哪个程序。
* [`reference/program-addresses`](/zh/reference/program-addresses) —— 每个版本的规范 ID。
