FluxRPC Quickstart: 5분 안에 Solana 쿼리
Source: Dev.to

Solana에서 데이터를 읽고 싶으신가요? 이 가이드를 통해 5분 안에 가능합니다.
TL;DR
TypeScript
import { Connection, PublicKey, LAMPORTS_PER_SOL } from '@solana/web3.js';
const connection = new Connection('https://eu.fluxrpc.com?key=YOUR_API_KEY', 'confirmed');
const balance = await connection.getBalance(new PublicKey('YOUR_WALLET_ADDRESS'));
console.log(balance / LAMPORTS_PER_SOL, 'SOL');
cURL
curl -s -X POST https://eu.fluxrpc.com?key=YOUR_API_KEY \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"getBalance","params":["YOUR_WALLET_ADDRESS"]}' | jq
샘플 출력
{
"jsonrpc": "2.0",
"result": {
"context": { "slot": 123456789 },
"value": 35737443
},
"id": 1
}
API 키를 받으세요 → dashboard.fluxbeam.xyz
필수 조건
- Node.js 18+
- FluxRPC API 키 (무료, 생성하는 데 약 30 초 소요)
Step 1 — API 키 받기
- dashboard.fluxbeam.xyz 로 이동
- 로그인 (Google, GitHub, 또는 Solana 지갑)
- Create API Key 클릭
- 키 복사
2단계 — 프로젝트 생성
mkdir fluxrpc-quickstart && cd fluxrpc-quickstart
npm init -y
npm install @solana/web3.js tsx
단계 3 — 코드 작성
index.ts 파일을 생성하세요:
import { Connection, PublicKey, LAMPORTS_PER_SOL } from '@solana/web3.js';
const API_KEY: string = 'your-api-key-here';
const RPC_URL: string = `https://eu.fluxrpc.com?key=${API_KEY}`;
const WALLET: string = 'YOUR_WALLET_ADDRESS';
async function main(): Promise {
const connection = new Connection(RPC_URL, 'confirmed');
const publicKey = new PublicKey(WALLET);
const start = Date.now();
const lamports = await connection.getBalance(publicKey);
const ms = Date.now() - start;
console.log(`Wallet: ${WALLET}`);
console.log(`Balance: ${lamports / LAMPORTS_PER_SOL} SOL`);
console.log(`Latency: ${ms}ms`);
}
main();
your-api-key-here를 생성한 키로 교체하세요.
Step 4 — 실행
npx tsx index.ts
샘플 출력
Wallet: Wallet Address
Balance: 0.035737443 SOL
Latency: 142ms
당신은 방금 Solana 메인넷에서 읽었습니다.
방금 무슨 일이 있었나요
| Component | Purpose |
|---|---|
| Connection | FluxRPC에 연결을 엽니다. 두 번째 인수 'confirmed'는 커밋 수준(데이터가 얼마나 확정되어야 하는지)을 설정합니다. |
| PublicKey | 지갑 주소 문자열을 Solana‑호환 형식으로 파싱합니다. |
| getBalance | 지갑 잔액을 lamports(1 SOL = 10⁹ lamports) 단위로 반환합니다. |
이 패턴은 모든 RPC 호출에 대해 반복됩니다: connect → query → handle response.
왜 FluxRPC인가?
최신 데이터
대부분의 제공자는 응답을 캐시합니다. FluxRPC는 최신 확인된 (HEAD 슬롯) 상태를 반환하므로 오래된 데이터를 읽지 않습니다.
속도 제한 없음
요청 수가 아니라 대역폭에 따라 비용을 지불합니다.
- $0.06 per GB
getBalance호출은 약 0.5 KB → 2 백만 호출 ≈ $0.06
무료 티어: 10 GB.
부하에 맞게 설계됨
Solana가 혼잡할 때도 일관된 성능을 제공합니다.
서브‑밀리초 지연 (Lantern)
Lantern 은 계정 상태를 로컬에 캐시합니다.
- 응답 시간: 0.1–0.25 ms
- 처리량: 10k+ req/sec
추가 메서드
getLatestBlockhash
const { blockhash, lastValidBlockHeight } = await connection.getLatestBlockhash();
console.log('Blockhash:', blockhash);
getAccountInfo
import type { AccountInfo } from '@solana/web3.js';
const account: AccountInfo | null = await connection.getAccountInfo(publicKey);
if (account) {
console.log('Owner:', account.owner.toBase58());
console.log('Lamports:', account.lamports);
console.log('Executable:', account.executable);
console.log('Data length:', account.data.length);
}
Reference
Endpoints
| Region | URL |
|---|---|
| EU | https://eu.fluxrpc.com?key=API_KEY |
| US | https://us.fluxrpc.com?key=API_KEY |
가장 가까운 지역을 선택하세요; 잘못된 지역을 선택하면 약 100 ms 정도 지연이 추가됩니다.
Commitment Levels
| Level | Meaning |
|---|---|
processed | 노드가 해당 요청을 확인함 |
confirmed | 초과다수(슈퍼메이저리티)가 투표함 |
finalized | 롤백되지 않음 |
Common Errors
| Error | Fix |
|---|---|
Invalid public key input | 지갑 주소가 유효한 Base58 문자열인지 확인 |
Failed to fetch | API 키와 엔드포인트 URL을 확인 |
403 Forbidden | 대시보드에서 API 키를 재생성 |
TypeError: fetch failed | Node.js 18 이상으로 업그레이드 |
Example error handling
try {
const balance = await connection.getBalance(publicKey);
} catch (error) {
console.error('RPC error:', error);
}
FluxRPC와 함께 즐거운 개발 되세요!
전체 화면 모드 종료
다음 단계
- Transactions — SOL 전송을 빌드하고 전송하기
- WebSockets — 계정 변경 사항을 구독하기
Docs: fluxrpc.com
