Documentation Index
Fetch the complete documentation index at: https://docs.raydium.io/llms.txt
Use this file to discover all available pages before exploring further.
이 페이지는 AI 자동 번역입니다. 모든 내용은 영문판을 기준으로 합니다.영문판 보기 →
버전 정보
- SDK:
@raydium-io/raydium-sdk-v2@0.2.42-alpha - 네트워크: mainnet-beta
- 라우터 프로그램 ID:
routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS - 검증 완료: 2026년 4월
예제 1: SDK 기반 라우팅
소스:src/trade/routeSwap.ts
Raydium SDK는 라우트 구축을 추상화합니다. SDK의 거래 함수를 사용하여 멀티홉 라우트를 구성하고 라우터를 통해 자동으로 실행하세요.
설정
멀티홉 스왑 구축
@raydium-io/raydium-sdk-v2의 라우팅은 raydium.tradeV2에서 제공됩니다. 풀 데이터 가져오기, 라우트 계산, 출력으로 정렬, 스왑 트랜잭션 구축의 전체 프로세스는 아래와 같으며, 이는 raydium-sdk-V2-demo/src/trade/routeSwap.ts의 정식 예제와 일치합니다.
예상 동작
SDK는 다음을 처리합니다:- AMM v4, CPMM, CLMM, Stable AMM 전반의 라우트 검색
- 계정 파생 (풀 상태, 금고, 옵저베이션 계정, ATA 사전 생성)
- 라우트가 멀티홉일 때 라우터 프로그램 (
Router)에 대한 명령어 패킹, 또는 단일 풀이 이미 최고의 가격을 제공할 때 직접 풀 스왑 getAllRouteComputeAmountOut의slippage파라미터를 통한 슬리피지 강제
raydium.tradeV2.swap은 둘 이상의 transaction을 반환할 수 있습니다. 첫 번째는 일반적으로 중간 ATA를 초기화하고 두 번째는 스왑 자체를 수행합니다. execute()에 항상 sequentially: true를 전달하여 순서대로 확인되도록 하세요.
예제 2: 원시 명령어 구축 (Rust 유사 의사코드)
더 세밀한 제어가 필요하거나 라우터로 CPI하는 프로그램을 구축 중인 경우 명령어를 수동으로 구축하세요. 아래 예제는 **태그 8 (SwapBaseIn)**를 사용합니다(권장되는 현재 변형). 사용자 소유의 ATA를 통해 끝에서 끝까지 라우팅합니다.
시나리오: USDC → SOL (CPMM) → mSOL (CPMM)
1단계: 사용자의 ATA 파생
2단계: 각 홉에 대한 계정 수집
홉 1은 CPMM의 USDC/SOL입니다. 홉 2는 CPMM의 SOL/mSOL입니다.3단계: 명령어 구축
4단계: 트랜잭션 전송
예제 3: 오류 처리
일반적인 오류 및 복구 방법:ExceededSlippage
출력이minimum_amount_out보다 작습니다. 더 높은 슬리피지 허용도를 사용하여 다시 시도하거나 라우트를 다시 견적하세요.
SqrtPriceX64 (CLMM)
CLMM 홉의 가격이limit_prices 경계를 벗어났습니다. 경계를 업데이트하고 다시 시도하세요.
InvalidOwner
중간 또는 출력 ATA가 호출자의 소유가 아닙니다. 라우터는 모든 슬롯에서 소유권을 검증합니다. 전달하는 각 ATA가 사용자의 지갑에서 파생되었는지 확인하세요(다른 권한에서 파생되지 않음).팁과 모범 사례
중간 ATA 사전 생성
처음 새로운 중간 토큰을 통해 라우팅하기 전에, 사용자의 ATA를 생성하여 라우트가 검증 실패하지 않도록 하세요:CreateSyncNative (태그 5)를 선호하세요. ATA를 생성하고, SOL을 이전하고, 한 명령어에서 동기화합니다.
실행 전에 견적 조회
명령어를 구축하기 전에 항상 풀을 쿼리하고 예상 출력을 계산하세요:더 새로운 명령어 변형 사용 (8–9)
태그 8과 9 (SwapBaseIn과 SwapBaseOut)는 limit_prices에 더 관대합니다. CLMM 가격 검증이 필요하지 않은 경우 레거시 변형보다 이들을 선호하세요.
다음 단계
products/routing/instructions— 전체 명령어 참조products/routing/accounts— 계정 파생 세부 정보products/cpmm/code-demos— 비교용 CPMM 스왑 예제reference/program-addresses— 정식 프로그램 ID 및 devnet 주소
@raydium-io/raydium-sdk-v2on npmraydium-io/raydium-sdk-V2(오픈 소스)raydium-io/raydium-sdk-V2-demo—routeSwap.ts를 포함한 공식 엔드투엔드 데모- AMM 라우팅 프로그램 소스는 공개되지 않습니다. 프로그램 ID를 라이브 API 및 온체인 바이트코드와 대조하여 검증하세요


