Skip to main content
이 페이지는 AI 자동 번역입니다. 모든 내용은 영문판을 기준으로 합니다.영문판 보기 →
이 스크립트의 역할. 지정한 두 민트에 대한 새로운 CPMM 풀을 생성하고, 0.25% 수수료 계층을 선택한 후, 초기 유동성을 시드 금액으로 암시된 가격에 따라 설정하고, 새 풀 ID와 트랜잭션 서명을 출력합니다.

설정

빠른 시작 사전 요구사항을 읽었는지 확인하고 RPC_URL, KEYPAIR, 그리고 필요한 의존성이 설치되어 있는지 확인하세요. 또한 두 민트의 시드 금액으로 지갑에 자금을 조달해야 하며, 일회성 풀 생성 수수료와 계정 렌트를 충당할 충분한 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

실행하기

예: 1 SOL과 160 USDC 시드로 SOL/USDC 풀 생성:
예상 출력:

방금 일어난 일

  1. **getCpmmConfigs**는 api-v3.raydium.io에서 라이브 수수료 계층 목록을 가져와 인덱스 0 (0.25% 계층)을 선택했습니다 — reference/fee-comparison에서 전체 집합을 확인할 수 있습니다.
  2. **getTokenInfo**는 각 민트의 메타데이터를 해석했으며, 어떤 토큰 프로그램이 소유하고 있는지도 포함됩니다. CPMM은 SPL Token과 Token-2022 민트를 모두 수용하며, SDK가 자동으로 라우팅합니다.
  3. **createPool**은 다음을 수행하는 하나의 트랜잭션을 구성했습니다:
    • 민트를 정규 순서로 정렬,
    • 풀 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_A, MINT_B, 또는 SOL (풀 생성 수수료 + 렌트)이 충분하지 않습니다.
  • Token-2022 extension not supported — 민트 중 하나가 CPMM이 수용하지 않는 확장을 사용합니다. reference/token-2022-support를 확인하세요.

배포 후

새 풀에 대해 즉시 스왑할 수 있습니다 — CLI에서 스왑하기 스크립트는 새 POOL_ID를 직접 수용합니다. 집계자 (Jupiter 등)는 몇 분 내에 새 풀을 인덱싱할 것입니다.

다음