本頁內容由 AI 自動翻譯,所有內容以英文版本為準。查看英文版 →
這個指令碼的功能。 為你指定的兩個代幣建立全新的 CPMM 池,選擇 0.25% 費用等級,以初始金額隱含的價格注入初始流動性,並列印新池的 ID 和交易簽名。
設定
確保你已閱讀 快速開始先決條件,並已安裝RPC_URL、KEYPAIR 和相關依賴。
你還需要 用兩種代幣的初始金額為錢包注資,加上足夠的 SOL 來支付一次性的池建立費用和帳戶租金(主網上總共約 0.19 SOL — 參見 reference/fee-comparison 了解租金/費用明細,或 ray/protocol-fees 只查看費用)。
在 devnet 上執行。 僅將 cluster 改為 "devnet" 還不夠。此指令碼固定了兩個不遵循 cluster 的具名匯入:programId: CREATE_CPMM_POOL_PROGRAM 和 poolFeeAccount: CREATE_CPMM_POOL_FEE_ACC,兩者都是主網常數。改為從 SDK 匯入 DEVNET_PROGRAM_ID 並使用 DEVNET_PROGRAM_ID.CREATE_CPMM_POOL_PROGRAM 和 DEVNET_PROGRAM_ID.CREATE_CPMM_POOL_FEE_ACC — 這與 CLMM 指令碼 使用的模式相同。
指令碼
另存為create-cpmm.mjs:
create-cpmm.mjs
執行
範例:建立 SOL/USDC 池,初始金額為 1 SOL 和 160 USDC:剛才發生了什麼
getCpmmConfigs從api-v3.raydium.io拉取即時費用等級列表,並選擇索引 0(0.25% 等級 — 參見reference/fee-comparison了解完整集合)。getTokenInfo解析每個代幣的元資料,包括擁有它的代幣程式。CPMM 接受 SPL Token 和 Token-2022 代幣;SDK 會自動路由。createPool建立一筆交易,該交易會:- 將代幣排序為規範順序,
- 推導池 PDA、金庫、LP 代幣和授權,
- 向
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— 此代幣對在此費用等級已存在池。建立前先查詢。insufficient funds— 你的錢包沒有足夠的MINT_A、MINT_B或 SOL(用於建立池費用 + 租金)。Token-2022 extension not supported— 你的其中一個代幣使用 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 嗎?

