Skip to main content
Esta página foi traduzida automaticamente por IA. A versão em inglês é a fonte oficial.Ver versão em inglês →
O que isto faz. Cria um novo pool CPMM para dois mints que você especificar, seleciona a camada de taxa de 0,25%, fornece liquidez inicial ao preço implícito pelas quantidades iniciais e imprime o novo ID do pool e a assinatura da transação.

Configuração

Certifique-se de ter lido os pré-requisitos do Quick start e de ter RPC_URL, KEYPAIR e as dependências instaladas. Você também precisará financiar a carteira com as quantidades iniciais de ambos os mints, mais SOL suficiente para cobrir a taxa única de criação do pool e aluguel de conta (~0,19 SOL no total em mainnet — veja reference/fee-comparison para o detalhamento de aluguel/taxa, ou ray/protocol-fees apenas para a taxa). Executando isto em devnet. Mudar cluster para "devnet" não é suficiente por si só. Este script fixa duas importações nomeadas que não seguem cluster: programId: CREATE_CPMM_POOL_PROGRAM e poolFeeAccount: CREATE_CPMM_POOL_FEE_ACC, ambas constantes de mainnet. Importe DEVNET_PROGRAM_ID do SDK e use DEVNET_PROGRAM_ID.CREATE_CPMM_POOL_PROGRAM e DEVNET_PROGRAM_ID.CREATE_CPMM_POOL_FEE_ACC em seu lugar — o mesmo padrão que o script CLMM usa.

O script

Salve como create-cpmm.mjs:
create-cpmm.mjs

Execute

Exemplo: criar um pool SOL/USDC com 1 SOL e 160 USDC iniciais:
Saída esperada:

O que acabou de acontecer

  1. getCpmmConfigs obteve a lista ativa de camadas de taxa de api-v3.raydium.io e selecionou o índice 0 (a camada de 0,25% — veja reference/fee-comparison para o conjunto completo).
  2. getTokenInfo resolveu os metadados de cada mint, incluindo qual programa de token o possui. CPMM aceita mints SPL Token e Token-2022; o SDK roteia automaticamente.
  3. createPool construiu uma transação que:
    • ordena os mints em ordem canônica,
    • deriva o PDA do pool, vaults, LP mint e autoridade,
    • paga a create_pool_fee única para CREATE_CPMM_POOL_FEE_ACC,
    • cria os ATAs do chamador se estiverem faltando,
    • fornece os vaults com AMOUNT_A e AMOUNT_B.
  4. O preço inicial é definido pela razão de fornecimento: price = AMOUNT_B / AMOUNT_A após ajuste decimal. Escolha isto com cuidado — bots farão arbitragem de qualquer desvio de preço segundos após a abertura do pool.
  5. startTime: new BN(0) abre a negociação imediatamente. Para preparar liquidez antes de abrir ao público, defina um timestamp Unix futuro.

Erros comuns

  • pool already exists — Um pool já existe para este par de mints nesta camada de taxa. Procure antes de criar.
  • insufficient funds — Sua carteira não tem o suficiente de MINT_A, MINT_B ou SOL (para a taxa de criação do pool + aluguel).
  • Token-2022 extension not supported — Um de seus mints usa uma extensão que CPMM não aceita. Veja reference/token-2022-support.

Após implantação

Você pode fazer swap imediatamente contra o novo pool — o script Swap from CLI aceita seu novo POOL_ID diretamente. Agregadores (Jupiter, etc.) indexarão o novo pool em minutos.

Próximos passos