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 자동 번역입니다. 모든 내용은 영문판을 기준으로 합니다.영문판 보기 →
이 문서의 모든 내용은 정상적으로 작동하는 Solana 개발 도구 체인을 전제로 합니다. 이 페이지에서는 도구, 2026년 4월 기준 Raydium과 호환되는 최소 버전, 그리고 특정 설정 주의사항을 나열합니다. 이후 장의 코드 예제를 실행하기 전에 먼저 이 페이지부터 시작하세요.
핵심 도구
Solana CLI
Solana 클러스터와 상호작용하기 위한 공식 명령행 인터페이스 — 지갑 관리, RPC 호출, 프로그램 배포.
설치:
sh -c "$(curl -sSfL https://release.solana.com/v1.18.22/install)"
# 또는 최신 안정 버전:
sh -c "$(curl -sSfL https://release.solana.com/stable/install)"
검증:
solana --version # → solana-cli 1.18.22 (또는 그 이상)
메인넷 구성:
solana config set --url https://api.mainnet-beta.solana.com
solana config set --keypair ~/.config/solana/id.json
solana-keygen new # 지갑이 없으면 생성
solana address # 공개 키 확인
Raydium 테스트를 위해서는 거의 항상 자금이 충전된 devnet 지갑이 필요합니다:
solana config set --url https://api.devnet.solana.com
solana airdrop 2 # 테스트용 2 SOL
SPL Token CLI
SPL Token / Token-2022 작업을 위한 공식 CLI — 민트 생성, 토큰 발행, 양도.
설치 (Solana CLI에 포함):
일반적인 작업:
spl-token create-token # SPL Token 민트 생성
spl-token create-token --program-id TOKEN_2022 ... # Token-2022 민트 생성
spl-token create-account <MINT> # ATA 생성
spl-token mint <MINT> 1000 # ATA에 1000개 토큰 발행
spl-token transfer <MINT> 100 <RECIPIENT> # 100개 양도
spl-token display <ACCOUNT_OR_MINT> # 확인
Anchor CLI
Raydium IDL 가져오기, 클라이언트 구성, 프로그램 검증에 필요합니다.
설치:
cargo install --git https://github.com/coral-xyz/anchor avm --locked
avm install 0.30.1
avm use 0.30.1
anchor --version
일반적인 작업:
anchor idl fetch <PROGRAM_ID> -o program.idl.json # 온체인 IDL 가져오기
anchor idl init -f idl.json <PROGRAM_ID> # IDL 업로드
anchor build # 소스에서 프로그램 빌드
TypeScript 설정
Raydium의 기본 통합 경로입니다.
패키지
npm install \
@solana/web3.js \
@solana/spl-token \
@coral-xyz/anchor \
@raydium-io/raydium-sdk-v2 \
bn.js \
decimal.js
2026년 4월 기준으로 함께 작동하는 것으로 알려진 버전:
| 패키지 | 버전 |
|---|
@solana/web3.js | ≥1.95 |
@solana/spl-token | ≥0.4 |
@coral-xyz/anchor | ≥0.30 |
@raydium-io/raydium-sdk-v2 | ≥0.2.42-alpha |
최소 스크립트
import { Connection, Keypair } from "@solana/web3.js";
import { Raydium } from "@raydium-io/raydium-sdk-v2";
const connection = new Connection("https://api.mainnet-beta.solana.com", "confirmed");
const owner = Keypair.fromSecretKey(/* your key */);
const raydium = await Raydium.load({
connection,
owner,
cluster: "mainnet",
disableFeatureCheck: true,
});
const poolInfo = await raydium.api.fetchPoolById({ id: "..." });
console.log(poolInfo);
전체 SDK 레퍼런스는 sdk-api/typescript-sdk를 참조하세요.
Rust 설정
CPI 통합 및 온체인 프로그램용입니다.
도구 체인
rustup install 1.76.0 # 또는 Anchor에서 현재 요구하는 버전
rustup component add rustfmt clippy
solana-install init 1.18.22 # BPF 도구 체인 포함
Raydium CPI 통합용 프로그램 Cargo.toml
[dependencies]
anchor-lang = "0.30.1"
anchor-spl = "0.30.1"
raydium-cp-swap = { version = "0.2", features = ["cpi"] }
raydium-clmm = { version = "0.1", features = ["cpi"] }
"cpi" 피처는 CPI 헬퍼와 함께 cpi 모듈을 가져옵니다 (raydium_cp_swap::cpi::swap_base_input(...) 사용 가능). sdk-api/rust-cpi를 참조하세요.
Python 설정
보조 통합 경로 — 봇 개발자에게 일반적입니다.
패키지
pip install solders solana-py anchorpy
pip install raydium-py # 커뮤니티 Raydium SDK (비공식)
버전:
| 패키지 | 버전 |
|---|
solders | ≥0.21 |
solana-py | ≥0.34 |
anchorpy | ≥0.21 |
raydium-py | ≥0.2.1 |
최소 스크립트
from solana.rpc.async_api import AsyncClient
from solders.keypair import Keypair
from anchorpy import Provider, Wallet, Program
async def main():
conn = AsyncClient("https://api.mainnet-beta.solana.com")
owner = Keypair()
wallet = Wallet(owner)
provider = Provider(conn, wallet)
# IDL 및 프로그램 로드
with open("cpmm.idl.json") as f:
idl = json.load(f)
program = Program(idl, CPMM_PROGRAM_ID, provider)
pool = await program.account["PoolState"].fetch(pool_id)
print(pool)
sdk-api/python-integration를 참조하세요.
RPC 엔드포인트
공용 메인넷 RPC (api.mainnet-beta.solana.com)는 심각한 속도 제한이 있으며 부하가 있으면 스로틀됩니다. 비자명한 사용을 위해 프라이빗 엔드포인트를 확보하세요:
| 제공자 | 설명 |
|---|
| Helius | 가장 인기 있음; 관대한 무료 티어. |
| Triton | 엔터프라이즈; 프리미엄 가격, 안정적. |
| QuickNode | 견고함; 낮은 지연 시간. |
| 자체 RPC 노드 | 월 약 $500의 하드웨어 비용; 완전한 제어. |
구성:
const connection = new Connection("https://mainnet.helius-rpc.com/?api-key=...");
일부 RPC 작업에는 확장된 기능이 필요합니다:
getProgramAccounts — 제한 없는 스캔은 비용이 많이 드니; 일부 제공자는 스캔당 게이트 또는 요금 부과.
getPriorityFeeEstimate — Helius 전용 엔드포인트; 다른 제공자는 동등한 기능 보유.
geyser / WebSocket 스트리밍 — 저지연 봇에 필요; 모든 제공자가 노출하지는 않음.
Devnet 및 Localnet
Devnet
Solana의 공용 테스트 클러스터. Raydium은 부분적인 devnet 배포를 가지고 있습니다:
- 테스트용 CPMM 풀 존재.
- AMM v4는 역사적 devnet 풀 보유.
- CLMM은 몇 가지 데모 풀 보유.
- Farm v6 배포됨.
solana config set --url https://api.devnet.solana.com
solana airdrop 2
SDK는 cluster: "devnet"을 통해 devnet을 지원합니다:
const raydium = await Raydium.load({ connection, owner, cluster: "devnet" });
주의: devnet 풀은 유동성이 적고 상태가 오래되었을 수 있습니다. 가격 발견을 위해 devnet에 의존하지 마세요; 명령어 흐름 구성-테스트 용도로만 사용하세요.
Forked 메인넷 상태를 사용한 Localnet
현실적인 테스트를 위해 메인넷 상태를 로컬 검증자로 포크합니다:
solana-test-validator \
--url https://api.mainnet-beta.solana.com \
--clone CPMMoo8L3F4NbTegBCKVNunggL7H1Zpdmwpwh8KMoZ0F \
--clone CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK \
--clone <SOME_POOL_ID> \
--clone <SOME_MINT_ID>
특정 프로그램/계정 상태를 localhost로 복제하여 자유롭게 거래할 수 있습니다. 다음에 이상적입니다:
- 실제 Raydium 프로그램에 대해 CPI 통합을 단위 테스트.
- 수정된 파라미터로 거래 재실행하여 디버깅.
- 대규모 합성 거래량으로 스트레스 테스트.
Raydium 팀은 메인넷 배포 전 회귀 테스트를 위해 forked localnet을 광범위하게 사용합니다.
프로젝트 템플릿
TypeScript 통합 스타터
my-raydium-app/
├── package.json
├── tsconfig.json
├── src/
│ ├── swap.ts # 스왑 예제
│ ├── add-liquidity.ts
│ └── read-pool.ts
└── .env # RPC URL, 지갑 경로
최소 package.json:
{
"name": "my-raydium-app",
"type": "module",
"scripts": { "swap": "tsx src/swap.ts" },
"dependencies": {
"@raydium-io/raydium-sdk-v2": "^0.2.42-alpha",
"@solana/web3.js": "^1.95",
"@solana/spl-token": "^0.4"
},
"devDependencies": {
"@types/node": "^20",
"tsx": "^4",
"typescript": "^5"
}
}
Anchor CPI 프로그램 스타터
my-raydium-cpi/
├── Anchor.toml
├── Cargo.toml
├── programs/
│ └── my-cpi/
│ ├── Cargo.toml
│ └── src/lib.rs
└── tests/
└── my-cpi.ts
Anchor 0.30 사용:
anchor init my-raydium-cpi
cd my-raydium-cpi
# Cargo.toml에 raydium-cp-swap을 features = ["cpi"]로 추가
anchor build
anchor test
유용한 CLI 유틸리티
solana-keygen
solana-keygen new --outfile ./wallet.json # 키 생성
solana-keygen pubkey ./wallet.json # 공개 키 표시
모든 계정 읽기
solana account <ADDRESS> --output json-compact
디코더 없이 풀 상태를 둘러보는 데 유용합니다.
프로그램 로그
solana logs | grep CPMMoo # CPMM 관련 tx 로그 추적
거래 검사
solana confirm <TX_SIGNATURE> -v # 로그를 보기 좋게 출력
또는 explorer 경유 — 서명을 붙여넣고 “Program Logs” 탭을 보세요.
환경 정리
목적별 별도 지갑
- 개발 지갑: 테스트넷 SOL 보유, 구성에 사용.
- 프로덕션 지갑: 실제 SOL 보유, 배포/멀티시그 제출에만 사용.
- 봇용 핫 지갑: 소액, 제한된 권한.
키는 절대 하드코딩되어서는 안 됩니다. 환경 변수 또는 시크릿 매니저를 사용하세요.
.env 패턴
# .env (커밋되지 않음)
SOLANA_RPC_URL=https://mainnet.helius-rpc.com/?api-key=...
WALLET_PATH=/Users/you/.config/solana/id.json
import { config } from "dotenv";
config();
const connection = new Connection(process.env.SOLANA_RPC_URL!);
버전 고정
모든 Solana 에코시스템 의존성을 고정합니다. 에코시스템은 빠르게 움직이고; @solana/web3.js의 마이너 버전 범프는 이전에 주요 변경을 도입했습니다. package-lock.json / Cargo.lock을 종교적으로 사용하세요.
포인터
출처: