本页内容由 AI 自动翻译,所有内容以英文版本为准。查看英文版 →
这个脚本的作用:为你指定的两个 mint 创建全新的 CPMM 池,选择 0.25% 费用级别,根据初始金额隐含的价格设定初始流动性,并输出新池的 ID 和交易签名。
准备工作
确保你已阅读 快速开始前置条件 并已安装RPC_URL、KEYPAIR 和相关依赖。
你还需要用两个 mint 的初始金额为钱包充值,加上足够的 SOL 覆盖一次性池创建费用(主网约 0.15 SOL,参考 reference/program-addresses 了解最新费用)。
脚本
保存为create-cpmm.mjs:
运行
示例:用 1 SOL 和 160 USDC 作为初始流动性创建 SOL/USDC 池:刚才发生了什么
getCpmmConfigs从api-v3.raydium.io获取实时费用级别列表,选择索引 0(0.25% 级别 — 参考reference/fee-comparison了解全部费用级别)。getTokenInfo解析每个 mint 的元数据,包括拥有它的代币程序。CPMM 同时接受 SPL Token 和 Token-2022 mint;SDK 会自动路由。createPool构建单笔交易,执行以下操作:- 将 mint 排序为规范顺序,
- 派生池 PDA、金库、LP mint 和权限账户,
- 向
CREATE_CPMM_POOL_FEE_ACC支付一次性create_pool_fee, - 创建调用者缺失的 ATA,
- 用
AMOUNT_A和AMOUNT_B初始化金库。
- 初始价格由初始金额比确定:
price = AMOUNT_B / AMOUNT_A(经小数调整)。请仔细选择 — 机器人会在池开放交易后数秒内套利任何错误的定价。 startTime: new BN(0)立即开放交易。要在向公众开放前暂存流动性,请设置未来的 Unix 时间戳。
常见错误
pool already exists— 这个 mint 对已经存在该费用级别的池。创建前先查询。insufficient funds— 钱包没有足够的MINT_A、MINT_B或 SOL(用于创建池费用 + 租约)。Token-2022 extension not supported— 其中一个 mint 使用了 CPMM 不支持的扩展。参考reference/token-2022-support。
部署后
你可以立即与新池交易 — CLI 交易 脚本直接接受你的新POOL_ID。聚合器(Jupiter 等)会在数分钟内索引新池。
下一步
products/cpmm/overview— CPMM 是什么,何时选择它。user-flows/create-cpmm-pool— 同样的流程(带截图),通过 Raydium UI 操作。user-flows/choosing-a-pool-type— 你应该用 CLMM 吗?

