실습 · 2024-09-28

첫 학습 프로젝트 구성하기

솔라나를 학습하다 보면 여러 스크립트와 지갑, 설정 파일이 섞입니다. 처음부터 정리된 폴더 구조로 시작하면 나중이 편합니다. 이 글에서는 추천하는 학습 프로젝트 템플릿을 소개합니다.

#project #structure #beginner

솔라나 학습을 진행하다 보면 지갑 파일, 스크립트, 메모, 에어드랍 기록이 한 폴더에 섞입니다. 처음부터 정리된 구조로 시작하면 나중에 실습을 이어가기 쉽습니다. 이 글에서는 추천하는 학습 프로젝트 폴더 구조를 소개합니다.

왜 구조가 중요한가

학습 중에는 같은 스크립트를 여러 번 수정하면서 실험합니다. 파일이 한 곳에 모여 있으면, 어떤 실험을 했는지, 결과가 어땠는지 추적하기 어렵습니다. 정리된 폴더는 학습 노트이자 재실행 가능한 환경이 됩니다.

추천 폴더 구조

my-solana-learning/
├─ README.md
├─ scripts/
│  ├─ airdrop.sh
│  ├─ balance.sh
│  └─ transfer.sh
├─ keys/
│  ├─ devnet.json
│  └─ local.json
├─ notes/
│  ├─ 01-validator.md
│  └─ 02-devnet.md
└─ config/
   └─ cluster.txt

README

README에는 프로젝트 목적, 사용 중인 클러스터, 자주 쓰는 명령어를 적습니다. 한 달 뒤에 다시 돌아왔을 때 빠르게 감을 잡을 수 있습니다.

# my-solana-learning

솔라나 개발 환경 학습용 프로젝트.

## 현재 클러스터
- Devnet

## 자주 쓰는 명령어
- solana balance
- solana airdrop 2
- solana transfer <주소> 1

스크립트로 자동화

반복하는 명령은 스크립트로 만들어 둡니다. 예를 들어 잔액 확인 스크립트는 한 줄로 줄어듭니다.

#!/usr/bin/env bash
# scripts/balance.sh
solana balance "$1"

실행 권한을 주고 사용합니다.

$ chmod +x scripts/balance.sh
$ ./scripts/balance.sh

지갑 분리

학습용 지갑과 실제 자산용 지갑을 분리합니다. keys/ 폴더에 학습용 키페어만 보관하고, 이 폴더는 절대 공개 저장소에 올리지 않습니다. .gitignore에 keys/를 추가하세요.

주의: 키페어 파일이 공개 저장소에 올라가면 누구나 그 지갑의 자산을 옮길 수 있습니다. 학습용이라도 Devnet 자산은 소중한 실습 자료이므로, 항상 .gitignore로 보호하세요.

학습 노트

notes/ 폴더에 날짜별, 주제별로 마크다운 파일을 만듭니다. 실행한 명령, 만난 오류, 해결 방법을 적습니다. 나중에 같은 문제를 만나면 노트를 먼저 봅니다.

클러스터 설정 기록

현재 어떤 클러스터를 사용 중인지 config/cluster.txt에 적어 둡니다. CLI 설정이 바뀌어도 파일로 현재 상태를 추적할 수 있습니다.

다음 단계

프로젝트 구조를 만들었으면, 학습 가이드의 단계별 실습을 따라가며 이 폴더를 채워 보세요. 혼자 진행이 어렵다면 개발 환경 워크숍에서 함께 실습할 수 있습니다.