Cronos 노드 설치 가이드 (cronosd)
Cronos Mainnet Full Node·Validator를 cronosd 바이너리로 설치하고 State Sync·스냅샷 옵션을 사용하는 방법입니다.
출처: Cronos Mainnet, State Sync.
목차
- 전제 조건
- 바이너리 설치
- 초기화 및 Genesis
- config 설정 (seeds, pruning)
- 실행 (foreground / systemd)
- State Sync
- 동기화 확인
- Validator (요약)
- 소스 빌드 (선택)
전제 조건
- OS: Ubuntu 20.04/22.04 권장. Linux x86_64.
- 하드웨어: README 표 참고. Full Node 기본 — 4코어+, 32GB RAM, ~1TB. Archive — 더 큰 스토리지·RAM.
- Chain ID:
cronosmainnet_25-1.
바이너리 설치
- GitHub Releases에서 현재 Mainnet에 요구되는 버전 확인 (네트워크 업그레이드 시 변경됨. 예: Huygen 이후 v0.7.0+, 최신 v1.x).
- Linux x86_64: Releases 페이지에서 해당 버전의 Linux x86_64 tarball 파일명을 확인한 뒤 다운로드·설치. 예시(파일명은 릴리스마다 다를 수 있음):
# 예: v0.7.0 → cronos_linux_amd64_v0.7.0.tar.gz / v1.4.5 → cronos_1.4.5_Linux_x86_64.tar.gz 등
wget https://github.com/crypto-org-chain/cronos/releases/download/<TAG>/<LINUX_TARBALL>
tar -xzf <LINUX_TARBALL>
sudo mv bin/cronosd /usr/local/bin/
cronosd version
macOS/Windows 바이너리도 동일 저장소 Releases에 있음.
초기화 및 Genesis
초기화
cronosd init <moniker> --chain-id cronosmainnet_25-1
<moniker>는 노드 식별자(대괄호 제외). 예: cronos-node-01.
Genesis 다운로드 및 검증
curl -sL https://raw.githubusercontent.com/crypto-org-chain/cronos-mainnet/master/cronosmainnet_25-1/genesis.json -o ~/.cronos/config/genesis.json
# sha256 검증 (공식 문서에 있는 checksum과 비교)
if [[ $(sha256sum ~/.cronos/config/genesis.json | awk '{print $1}') = "58f17545056267f57a2d95f4c9c00ac1d689a580e220c5d4de96570fbbc832e1" ]]; then echo "OK"; else echo "MISMATCHED"; fi
참고: Genesis가 업데이트되면 공식 문서·저장소에서 최신 checksum 확인.
이전에 테스트넷(cronostestnet_338-3 등)을 사용했다면:
cronosd unsafe-reset-all
rm -f ~/.cronos/config/genesis.json
# 위 genesis 다운로드 다시 수행
config 설정 (seeds, pruning)
Seeds (config.toml)
~/.cronos/config/config.toml에서 seeds 설정. 공식 문서 또는 cronos-mainnet의 최신 목록 사용. 예:
sed -i.bak -E 's#^(seeds[[:space:]]+=[[:space:]]+).*$#\1"0d5cf1394a1cfde28dc8f023567222abc0f47534@cronos-seed-0.crypto.org:26656,3032073adc06d710dd512240281637c1bd0c8a7b@cronos-seed-1.crypto.org:26656,04f43116b4c6c70054d9c2b7485383df5b1ed1da@cronos-seed-2.crypto.org:26656,337377dcda43d79c537d2c4d93ad3b698ce9452e@bd-cronos-mainnet-seed-node-01.bdnodes.net:26656"#' ~/.cronos/config/config.toml
Validator 노드라면 create_empty_blocks_interval, timeout_commit 등도 문서대로 조정.
Pruning (app.toml)
- Full Node (기본):
pruning = "default". - Archive: 전체 이력 조회 필요 시
sed -i.bak -E 's#^(pruning[[:space:]]+=[[:space:]]+).*$#\1"nothing"#' ~/.cronos/config/app.toml - Pruned:
pruning = "everything"(State Sync와 함께 사용 시 저장 공간 약 50GB 수준).
실행 (foreground / systemd)
Foreground
cronosd start
too many files opened 오류 시:
ulimit -Sn 4096 # 또는 50000 등
systemd (권장)
curl -sSfL https://raw.githubusercontent.com/crypto-org-chain/cronos-docs/master/systemd/create-service.sh -o create-service.sh
curl -sSfL https://raw.githubusercontent.com/crypto-org-chain/cronos-docs/master/systemd/cronosd.service.template -o cronosd.service.template
chmod +x create-service.sh
./create-service.sh
sudo systemctl start cronosd
sudo systemctl enable cronosd
journalctl -u cronosd -f
스크립트가 cronosd 경로·홈 디렉터리를 묻는다면 설치 환경에 맞게 입력. 서비스 파일 예는 Cronos Mainnet 문서 참고.
State Sync
가장 빠르게 최신 블록 높이까지 동기화하는 방법. 이전 블록은 조회할 수 없음. 역사 데이터가 필요하면 Quicksync·Native Snapshots 등 사용.
- cronosd 최신 버전 설치 (위 바이너리 설치 참고).
- 초기화·genesis (위와 동일).
- config.toml에 State Sync·persistent_peers 설정. 공식 State Sync 가이드의 최신 블록 높이·trust_height·trust_hash 설정 스크립트 참고. 예시 형태:
LATEST_HEIGHT=$(curl -s https://rpc.cronos.org:443/block | jq -r .result.block.header.height)
BLOCK_HEIGHT=$((LATEST_HEIGHT - 1000))
TRUST_HASH=$(curl -s "https://rpc.cronos.org:443/block?height=$BLOCK_HEIGHT" | jq -r .result.block_id.hash)
# 이어서 sed로 config.toml의 enable, rpc_servers, trust_height, trust_hash, persistent_peers, seeds 수정
cronosd start또는 systemd로 시작.
State Sync가 실패하면 Quicksync 등 대안 사용.
동기화 확인
- 공식 RPC 최신 높이:
curl -s https://rpc.cronos.org/commit | jq '.result.signed_header.header.height' - 로컬 노드 높이:
cronosd status 2>&1 | jq '.SyncInfo.latest_block_height' - 동기화 여부:
cronosd status 2>&1 | jq '.SyncInfo.catching_up'→false이면 동기화 완료.
Validator (요약)
- Full Node를 먼저 동기화.
- 지갑 생성·CRO 보유·
cronosd tx staking create-validator실행.
상세: Mainnet Validator 가이드. - 프로덕션 운영: Sentry 구성·키 보안·Production 배포 노트 참고.
소스 빌드 (선택)
git clone https://github.com/crypto-org-chain/cronos.git
cd cronos
make build
# 빌드된 바이너리: build/cronosd
로컬 devnet 등은 저장소 문서 참고.
업그레이드
네트워크 업그레이드(예: Huygen, v1.5 Smarturn) 시 공식 Upgrade 가이드에 따라 cronosd 버전을 올리고 필요 시 genesis/config 재적용. updates/README.md 참고.