メインコンテンツへスキップ
このページは AI による自動翻訳です。すべての内容は英語版を正とします。英語版を表示 →
このスクリプトの役割。 指定した 2 つのミント用の新しい CPMM プールを作成し、0.25% のフィー層を選択して、シード額で示唆される価格で初期リクイディティを供給し、新しいプール ID とトランザクション署名を出力します。

セットアップ

クイックスタートの前提条件を読んで、RPC_URLKEYPAIR、および必要な依存関係がインストールされていることを確認してください。 また、ウォレットに両方のミントのシード額と、ワンタイムのプール作成フィー(メインネットでは約 0.15 SOL、現在の値は reference/program-addresses を参照)をカバーするのに十分な SOL でファンドする必要があります。

スクリプト

create-cpmm.mjs として保存します:

実行する

例:1 SOL と 160 USDC をシードとして SOL/USDC プールを作成します:
予想される出力:

何が起きたのか

  1. getCpmmConfigsapi-v3.raydium.io からライブのフィー層リストを取得し、インデックス 0(0.25% 層 — reference/fee-comparison で完全なセットを確認)を選択しました。
  2. getTokenInfo が各ミントのメタデータを解決し、どのトークンプログラムがそれを所有しているかを含めます。CPMM は SPL Token と Token-2022 の両方のミントを受け入れ、SDK が自動的にルーティングします。
  3. createPool が 1 つのトランザクションを構築して:
    • ミントを正規の順序にソートし、
    • プール PDA、ボールト、LP ミント、および権限を導出し、
    • ワンタイムの create_pool_feeCREATE_CPMM_POOL_FEE_ACC に支払い、
    • 必要に応じて呼び出し元の 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 — ミントの 1 つが CPMM が受け入れない拡張機能を使用しています。reference/token-2022-support を参照してください。

デプロイ後

新しいプールに対してすぐにスワップできます — Swap from CLI スクリプトは新しい POOL_ID を直接受け入れます。アグリゲーター(Jupiter など)は数分以内に新しいプールをインデックスします。

次のステップ