このページは AI による自動翻訳です。すべての内容は英語版を正とします。英語版を表示 →
このスクリプトの役割。 指定した 2 つのミント用に新しい CPMM プールを作成し、0.25% フィー層を選択し、シード量で示唆される価格で初期流動性をシードし、新しいプール ID とトランザクション署名を出力します。
セットアップ
クイックスタートの前提条件を読んで、RPC_URL、KEYPAIR、および依存関係がインストールされていることを確認してください。
また、両方のミントのシード量でウォレットに資金を供給し、ワンタイムのプール作成フィーとアカウント家賃をカバーするのに十分な SOL を用意する必要があります(メインネットで合計約 0.19 SOL — 家賃/フィーの内訳は reference/fee-comparison を参照するか、フィーのみについては ray/protocol-fees を参照してください)。
devnet で実行する場合。 cluster を "devnet" に切り替えるだけでは不十分です。このスクリプトは cluster に従わない 2 つの名前付きインポートをピン留めしています: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
実行する
例:1 SOL と 160 USDC のシードで SOL/USDC プールを作成します:何が起こったのか
getCpmmConfigsはapi-v3.raydium.ioからライブフィー層リストを取得し、インデックス 0(0.25% 層 — 完全なセットについてはreference/fee-comparisonを参照)を選択しました。getTokenInfoは各ミントのメタデータを解決しました。これには、どのトークンプログラムがそれを所有しているかが含まれます。CPMM は SPL Token と Token-2022 ミントの両方を受け入れます。SDK は自動的にルーティングします。createPoolは以下を実行する 1 つのトランザクションを構築しました:- ミントを正規順序にソートする、
- プール PDA、ボールト、LP ミント、および権限を導出する、
- ワンタイムの
create_pool_feeをCREATE_CPMM_POOL_FEE_ACCに支払う、 - 呼び出し元の 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— ミントの 1 つが 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 を使用すべきでしたか?

