Skip to main content
Cette page est traduite automatiquement par IA. La version anglaise fait foi.Voir la version anglaise →
Ce que cela fait. Crée un nouveau pool CPMM pour deux mints que vous spécifiez, sélectionne le palier de frais de 0,25 %, initialise la liquidité au prix impliqué par les montants initiaux, et affiche le nouvel ID du pool et la signature de la transaction.

Configuration

Assurez-vous d’avoir lu les prérequis du démarrage rapide et que vous disposez de RPC_URL, KEYPAIR et des dépendances installées. Vous devez également approvisionner le portefeuille avec les montants initiaux des deux mints, plus suffisamment de SOL pour couvrir les frais de création du pool et la location des comptes (~0,19 SOL au total sur mainnet — consultez reference/fee-comparison pour la répartition des frais/location, ou ray/protocol-fees pour les frais uniquement). Exécuter ceci sur devnet. Changer cluster en "devnet" ne suffit pas à lui seul. Ce script épingle deux imports nommés qui ne suivent pas cluster : programId: CREATE_CPMM_POOL_PROGRAM et poolFeeAccount: CREATE_CPMM_POOL_FEE_ACC, tous deux des constantes mainnet. Importez DEVNET_PROGRAM_ID du SDK et utilisez DEVNET_PROGRAM_ID.CREATE_CPMM_POOL_PROGRAM et DEVNET_PROGRAM_ID.CREATE_CPMM_POOL_FEE_ACC à la place — le même modèle que le script CLMM utilise.

Le script

Enregistrez sous create-cpmm.mjs :
create-cpmm.mjs

L’exécuter

Exemple : créer un pool SOL/USDC avec 1 SOL et 160 USDC initiaux :
Résultat attendu :

Ce qui vient de se passer

  1. getCpmmConfigs a récupéré la liste en direct des paliers de frais depuis api-v3.raydium.io et a sélectionné l’index 0 (le palier de 0,25 % — consultez reference/fee-comparison pour l’ensemble complet).
  2. getTokenInfo a résolu les métadonnées de chaque mint, y compris le programme de token qui le possède. CPMM accepte à la fois les mints SPL Token et Token-2022 ; le SDK achemine automatiquement.
  3. createPool a construit une transaction qui :
    • trie les mints dans l’ordre canonique,
    • dérive la PDA du pool, les vaults, le mint LP et l’autorité,
    • paie les frais uniques create_pool_fee à CREATE_CPMM_POOL_FEE_ACC,
    • crée les ATA de l’appelant s’ils manquent,
    • initialise les vaults avec AMOUNT_A et AMOUNT_B.
  4. Le prix initial est défini par le ratio initial : price = AMOUNT_B / AMOUNT_A après ajustement décimal. Choisissez cela avec soin — les bots arbitreront tout misprix quelques secondes après l’ouverture du pool.
  5. startTime: new BN(0) ouvre les échanges immédiatement. Pour préparer la liquidité avant l’ouverture au public, définissez un timestamp Unix futur.

Erreurs courantes

  • pool already exists — Un pool existe déjà pour cette paire de mints à ce palier de frais. Recherchez-le avant de créer.
  • insufficient funds — Votre portefeuille n’a pas assez de MINT_A, MINT_B ou SOL (pour les frais de création du pool + location).
  • Token-2022 extension not supported — L’un de vos mints utilise une extension que CPMM n’accepte pas. Consultez reference/token-2022-support.

Après le déploiement

Vous pouvez immédiatement échanger contre le nouveau pool — le script Swap from CLI accepte votre nouvel POOL_ID directement. Les agrégateurs (Jupiter, etc.) indexeront le nouveau pool en quelques minutes.

Suivant