개발 환경 · 2024-08-12

로컬 솔라나 검증자 실행으로 시작하는 첫 단계

solana-test-validator를 실행해 내 컴퓨터 안에서 동작하는 블록체인 환경을 만들고, 첫 트랜잭션을 직접 확인하는 실습 과정을 안내합니다.

#validator #cli #rust

솔라나를 처음 학습할 때 가장 빠르게 감을 잡는 방법은 내 컴퓨터에서 동작하는 블록체인을 직접 실행하는 것입니다. solana-test-validator는 메인넷과 동일한 규칙을 따르지만 인터넷에 연결하지 않아도 되는 로컬 전용 클러스터를 만들어 줍니다. 이 글에서는 검증자를 실행하고, 기본 지갑을 만들고, 잔액을 확인하는 과정을 단계별로 다룹니다.

왜 로컬 검증자부터 시작하는가

메인넷은 실제 자산이 오가는 네트워크입니다. 학습 단계에서 메인넷을 사용하면 수수료가 발생하고, 작은 실수가 비용으로 이어집니다. Devnet은 무료 SOL을 받아 테스트할 수 있지만 네트워크 상태에 따라 응답이 느리거나 에어드랍이 제한될 때가 있습니다. 로컬 검증자는 이런 제약 없이 내 컴퓨터에서 즉시 블록을 생성하고 트랜잭션을 처리합니다.

핵심: 로컬 검증자는 메인넷과 동일한 실행 규칙을 따르기 때문에, 여기서 동작한 코드는 Devnet이나 Mainnet에서도 같은 방식으로 동작합니다. 다만 데이터는 내 컴퓨터에만 존재하며 종료하면 사라집니다.

사전 준비

검증자를 실행하려면 솔라나 CLI 툴체인이 설치되어 있어야 합니다. 설치 방법은 Solana CLI 툴체인 설치와 기본 명령어 글을 참고하세요. 이 글에서는 CLI가 이미 설치되어 있다고 가정합니다.

검증자 실행하기

터미널을 열고 아래 명령을 실행합니다.

$ solana-test-validator

명령을 실행하면 로컬 검증자가 시작되고, 기본적으로 http://127.0.0.1:8899에서 JSON-RPC 요청을 받습니다. 트랜잭션 로그가 터미널에 실시간으로 출력되며, 블록이 생성될 때마다 슬롯 번호가 올라갑니다.

검증자를 종료하려면 Ctrl + C를 누릅니다. 종료하면 지금까지 만든 계정과 트랜잭션 기록이 모두 사라집니다.

CLI 설정을 로컬로 맞추기

검증자가 실행 중인 동안, 다른 터미널에서 CLI가 로컬 검증자를 바라보도록 설정합니다.

$ solana config set --url localhost
Config updated: RPC URL → http://localhost:8899

설정이 바뀌었는지 확인합니다.

$ solana config get
RPC URL: http://localhost:8899
Keypair Path: ~/.config/solana/id.json

기본 지갑 만들기

아직 지갑이 없다면 새 키페어를 만듭니다. 시드 문구는 안전한 곳에 적어 두되 절대 공유하지 마세요.

$ solana-keygen new --outfile ~/.config/solana/id.json
Generating new keypair... done
공개키: 9xQeWvG... 

지갑 주소(공개키)를 확인합니다.

$ solana address
9xQeWvG...

로컬에서 SOL 받기

로컬 검증자에서는 에어드랍 제한이 없습니다. CLI로 잔액을 채웁니다.

$ solana airdrop 100
100 SOL → 잔액 확인
$ solana balance
100 SOL

첫 트랜잭션 만들기

두 번째 지갑을 만들고, 첫 지갑에서 일부 SOL을 보내 봅니다.

$ solana-keygen new --outfile ~/second.json
$ solana transfer ~/second.json 5
Signature: 4k3... 
$ solana balance ~/second.json
5 SOL

트랜잭션 서명이 반환되면 검증자 터미널에 새 슬롯과 트랜잭션 로그가 출력되는 것을 확인할 수 있습니다. 이것이 로컬에서 동작하는 블록체인의 첫 트랜잭션입니다.

주의: 로컬 검증자의 데이터는 메모리와 임시 파일에 저장됩니다. 검증자를 종료하면 모든 계정과 잔액이 사라지며, 다시 실행하면 처음 상태로 시작합니다. 영구 저장이 필요한 학습은 Devnet을 사용하세요.

다음 단계

로컬 검증자에 익숙해지면, 같은 CLI로 Devnet에 연결해 보세요. solana config set --url devnet으로 전환한 뒤 Devnet 에어드랍 글을 따라 테스트 SOL을 받아 보면 메인넷과 가까운 환경에서 실습을 이어갈 수 있습니다.