DANARI 풀노드 운영 가이드
DANARI 네트워크의 안정성과 탈중앙성을 함께 만들어갑니다.
1. 풀노드(Full Node)란 무엇인가요?
풀노드는 이더리움 블록체인의 모든 거래 기록(블록)을 다운로드하고 검증하는 핵심 소프트웨어입니다. DANARI 프로젝트에서 풀노드를 직접 운영하는 것은 다음과 같은 중요한 의미를 가집니다.
✅ 신뢰성 및 보안 강화
제3자 서비스에 의존하지 않고 직접 트랜잭션을 검증하고 블록체인에 전송함으로써, DANARI 스마트 컨트랙트와 상호작용할 때 최고의 보안 수준을 유지할 수 있습니다.
🌐 네트워크 탈중앙성 기여
자체 노드를 운영하는 것은 이더리움 네트워크의 탈중앙성과 회복탄력성을 높이는 데 직접적으로 기여하는 행위입니다. 이는 DANARI 생태계의 안정성으로 이어집니다.
2. 사전 준비사항
안정적인 노드 운영을 위해 아래의 최소 사양을 권장합니다. 특히, 블록체인 데이터는 용량이 크므로 빠른 속도의 SSD는 필수적입니다.
운영체제
Linux (Ubuntu 20.04+)
CPU
4+ Cores
RAM
16GB 이상
저장공간
2TB+ NVMe SSD
3. 설치 및 설정 (Geth 클라이언트 기준)
가장 널리 사용되는 이더리움 클라이언트인 Go Ethereum(Geth)를 사용하여 Sepolia 테스트넷 풀노드를 설정하는 과정입니다.
Step 1: Geth 설치 (Ubuntu)
Geth 공식 PPA(개인 패키지 아카이브)를 추가하여 설치합니다.
sudo add-apt-repository -y ppa:ethereum/ethereum
sudo apt-get update
sudo apt-get install ethereum
Step 2: 노드 실행
DANARI MVP 단계에서는 Sepolia 테스트넷에 연결합니다. 아래 명령어로 노드를 실행하세요.
geth --sepolia --datadir ~/danari-node --http --http.api eth,net,web3 --ws --ws.api eth,net,web3 --authrpc.jwtsecret ~/danari-node/jwt.hex
--sepolia: Sepolia 테스트넷에 연결합니다.
--datadir: 블록체인 데이터가 저장될 디렉토리를 지정합니다.
--http, --ws: 외부에서 노드와 통신할 수 있는 HTTP 및 WebSocket RPC 엔드포인트를 활성화합니다.
4. 노드 운영 및 관리
동기화 상태 확인
노드가 최신 블록까지 동기화되었는지 확인하려면, 새 터미널을 열고 Geth 콘솔에 접속하여 `eth.syncing`을 입력합니다. 동기화가 완료되면 `false`를 반환합니다.
geth attach ~/danari-node/geth.ipc
> eth.syncing
{
currentBlock: 1400515,
highestBlock: 4785234,
...
}
// 또는 동기화 완료 시:
> eth.syncing
false
보안 권장 사항
외부 공격으로부터 노드를 보호하기 위해 방화벽을 설정하고, 필요한 포트(기본값: 30303)만 허용하는 것이 좋습니다.
5. 유용한 Geth 콘솔 명령어
| 명령어 | 설명 |
|---|---|
| eth.blockNumber | 현재 동기화된 최신 블록의 번호를 확인합니다. |
| net.peerCount | 현재 연결된 다른 노드(피어)의 수를 확인합니다. |
| eth.getBalance("주소") | 특정 이더리움 주소의 잔액(ETH)을 확인합니다. |