Skip to main content
本頁內容由 AI 自動翻譯,所有內容以英文版本為準。查看英文版 →
這個指令碼的功能。 為你指定的兩個代幣建立全新的 CPMM 池,選擇 0.25% 費用等級,以初始金額隱含的價格注入初始流動性,並列印新池的 ID 和交易簽名。

設定

確保你已閱讀 快速開始先決條件,並已安裝 RPC_URLKEYPAIR 和相關依賴。 你還需要 用兩種代幣的初始金額為錢包注資,加上足夠的 SOL 來支付一次性的池建立費用和帳戶租金(主網上總共約 0.19 SOL — 參見 reference/fee-comparison 了解租金/費用明細,或 ray/protocol-fees 只查看費用)。 在 devnet 上執行。 僅將 cluster 改為 "devnet" 還不夠。此指令碼固定了兩個不遵循 cluster 的具名匯入:programId: CREATE_CPMM_POOL_PROGRAMpoolFeeAccount: CREATE_CPMM_POOL_FEE_ACC,兩者都是主網常數。改為從 SDK 匯入 DEVNET_PROGRAM_ID 並使用 DEVNET_PROGRAM_ID.CREATE_CPMM_POOL_PROGRAMDEVNET_PROGRAM_ID.CREATE_CPMM_POOL_FEE_ACC — 這與 CLMM 指令碼 使用的模式相同。

指令碼

另存為 create-cpmm.mjs
create-cpmm.mjs

執行

範例:建立 SOL/USDC 池,初始金額為 1 SOL 和 160 USDC:
預期輸出:

剛才發生了什麼

  1. getCpmmConfigsapi-v3.raydium.io 拉取即時費用等級列表,並選擇索引 0(0.25% 等級 — 參見 reference/fee-comparison 了解完整集合)。
  2. getTokenInfo 解析每個代幣的元資料,包括擁有它的代幣程式。CPMM 接受 SPL Token 和 Token-2022 代幣;SDK 會自動路由。
  3. createPool 建立一筆交易,該交易會:
    • 將代幣排序為規範順序,
    • 推導池 PDA、金庫、LP 代幣和授權,
    • CREATE_CPMM_POOL_FEE_ACC 支付一次性 create_pool_fee
    • 如果缺少,建立呼叫者的 ATA,
    • AMOUNT_AAMOUNT_B 注入金庫。
  4. 初始價格 由初始金額比率設定:小數調整後 price = AMOUNT_B / AMOUNT_A。仔細選擇這個 — 機器人會在池開放後的幾秒內套利任何錯誤定價。
  5. startTime: new BN(0) 立即開放交易。若要在向公眾開放前暫存流動性,設定未來的 Unix 時間戳。

常見錯誤

  • pool already exists — 此代幣對在此費用等級已存在池。建立前先查詢。
  • insufficient funds — 你的錢包沒有足夠的 MINT_AMINT_B 或 SOL(用於建立池費用 + 租金)。
  • Token-2022 extension not supported — 你的其中一個代幣使用 CPMM 不接受的擴展。參見 reference/token-2022-support

部署後

你可以立即針對新池進行交換 — 從 CLI 交換 指令碼直接接受你的新 POOL_ID。聚合器(Jupiter 等)將在幾分鐘內索引新池。

下一步