Nodes/cronos/localhost/installation

cronos

Cronos 노드 설치 가이드 (cronosd)

7분 읽기 · localhost/installation

list목차(17)

Cronos 노드 설치 가이드 (cronosd)

Cronos Mainnet Full Node·Validator를 cronosd 바이너리로 설치하고 State Sync·스냅샷 옵션을 사용하는 방법입니다.
출처: Cronos Mainnet, State Sync.

목차


전제 조건

  • OS: Ubuntu 20.04/22.04 권장. Linux x86_64.
  • 하드웨어: README 표 참고. Full Node 기본 — 4코어+, 32GB RAM, ~1TB. Archive — 더 큰 스토리지·RAM.
  • Chain ID: cronosmainnet_25-1.

바이너리 설치

  1. GitHub Releases에서 현재 Mainnet에 요구되는 버전 확인 (네트워크 업그레이드 시 변경됨. 예: Huygen 이후 v0.7.0+, 최신 v1.x).
  2. 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 등 사용.

  1. cronosd 최신 버전 설치 (위 바이너리 설치 참고).
  2. 초기화·genesis (위와 동일).
  3. 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 수정
  1. 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 (요약)

  1. Full Node를 먼저 동기화.
  2. 지갑 생성·CRO 보유·cronosd tx staking create-validator 실행.
    상세: Mainnet Validator 가이드.
  3. 프로덕션 운영: 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 참고.

cronos 다른 챕터