이 페이지는 AI 자동 번역입니다. 모든 내용은 영문판을 기준으로 합니다.영문판 보기 →
동작 방식. RPC에서 CPMM 풀을 로드하고, 0.5% 슬리피지로 스왑을 견적한 후, 트랜잭션을 빌드하고, 키페어로 서명하고, 제출합니다. 약 30줄의 코드로 끝까지 처리됩니다.
설정
빠른 시작 사전 요구사항을 읽었는지 확인하고RPC_URL, KEYPAIR 및 필요한 라이브러리가 설치되어 있는지 확인하세요.
스크립트
swap.mjs로 저장하세요:
실행하기
보유한 유동성이 있는 CPMM 풀을 선택하세요. 표준 SOL/USDC CPMM 풀의 예시:방금 일어난 일
Raydium.load— SDK를 초기화했습니다. 전역 설정을 가져오고 지갑 컨텍스트를 설정했습니다.getPoolInfoFromRpc— RPC에서 직접 실시간 풀 상태를 가져왔습니다 (API 캐시 사용 안 함). 고액 스왑의 경우 항상 최신 상태를 원합니다.CurveCalculator.swap— 풀의 수수료를 차감한 상수곱 출력을 계산했습니다. 이는 프로그램이 온체인에서 실행하는 것과 동일한 수학이므로, 오프체인과 온체인 견적을 비교할 수 있습니다.raydium.cpmm.swap— V0 형식 (주소 조회 테이블 활성화)으로 트랜잭션을 빌드하고 명시적 계산 예산 설정을 추가했습니다. 계산 예산 팁은 바쁜 시간에 트랜잭션을 착륙시키는 데 도움이 됩니다.execute({ sendAndConfirm: true })— 서명, 발송 및 확인 대기를 수행했습니다.
일반적인 오류
Pool not found— 잘못된POOL_ID또는 잘못된 클러스터를 가리키고 있습니다 (메인넷 풀 ID를 devnet RPC에 사용하는 경우 등).Insufficient funds for transaction— 지갑에 스왑 입력 + 수수료 + ATA 렌트를 위한 충분한 SOL이 없습니다.Slippage tolerance exceeded— 견적과 실행 사이에 풀의 가격이 변했습니다. 다시 실행하거나,slippage매개변수를 높이거나, 항상 리저브를 다시 가져오는 SDK의computeAmountOut을 사용하세요.Token account not initialized— 출력 토큰의 ATA가 없었고 암시적 생성 명령이 착륙했지만 어떤 이유로 실패했습니다. 지갑의 SOL 잔액을 확인하고 다시 시도하세요.
다음
sdk-api/typescript-sdk— 전체 SDK 참조.products/cpmm/instructions— 온체인 스왑 명령의 모습.integration-guides/priority-fee-tuning— 프로덕션을 위한computeBudgetConfig크기 조정.

