Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content

이 가이드에서는 다양한 플랫폼에 Stable 노드를 설치하고 설정하는 방법에 대한 자세한 지침을 제공합니다.

전제 조건

설치를 시작하기 전에 다음 사항을 확인하십시오.

  • 모든 시스템 요구 사항 충족
  • 서버에 대한 루트 또는 sudo 접근 권한
  • Linux 명령줄에 대한 기본 지식

설치 방법

플랫폼에 맞는 사전 컴파일된 바이너리를 사용하십시오. Stable은 현재 소스 빌드를 지원하지 않습니다.

메인넷

Linux AMD64

# AMD64 아키텍처용 최신 바이너리 다운로드
wget https://stable-data-dist.s3.us-east-1.amazonaws.com/mainnet/binary/stabled-latest-linux-amd64-mainnet.tar.gz
 
# 아카이브 압축 해제
tar -xvzf stabled-latest-linux-amd64-mainnet.tar.gz
 
# 바이너리를 시스템 경로로 이동
sudo mv stabled /usr/bin/
 
# 설치 확인
stabled version

Linux ARM64

# ARM64 아키텍처용 바이너리 다운로드
wget https://stable-data-dist.s3.us-east-1.amazonaws.com/mainnet/binary/stabled-latest-linux-arm64-mainnet.tar.gz
 
# 압축 해제 및 설치
tar -xvzf stabled-latest-linux-arm64-mainnet.tar.gz
sudo mv stabled /usr/bin/
 
# 설치 확인
stabled version

테스트넷

Linux AMD64

# AMD64 아키텍처용 최신 바이너리 다운로드
wget https://stable-data-dist.s3.us-east-1.amazonaws.com/testnet/binary/stabled-latest-linux-amd64-testnet.tar.gz
 
# 아카이브 압축 해제
tar -xvzf stabled-latest-linux-amd64-testnet.tar.gz
 
# 바이너리를 시스템 경로로 이동
sudo mv stabled /usr/bin/
 
# 설치 확인
stabled version

Linux ARM64

# ARM64 아키텍처용 바이너리 다운로드
wget https://stable-data-dist.s3.us-east-1.amazonaws.com/testnet/binary/stabled-latest-linux-arm64-testnet.tar.gz
 
# 압축 해제 및 설치
tar -xvzf stabled-latest-linux-arm64-testnet.tar.gz
sudo mv stabled /usr/bin/
 
# 설치 확인
stabled version

노드 초기화

바이너리를 설치한 후 노드를 초기화합니다.

1단계: 노드 이름 설정

# 노드의 모니커 설정 (고유한 이름 선택)
export MONIKER="your-node-name"

2단계: 노드 초기화

메인넷

# 메인넷 체인 ID로 초기화
stabled init $MONIKER --chain-id stable_988-1
 
# 이렇게 하면 ~/.stabled/에 구성 디렉토리가 생성됩니다.

참고: 체인 ID를 포함한 현재 네트워크 매개변수는 메인넷 정보를 참조하십시오.

테스트넷

# 테스트넷 체인 ID로 초기화
stabled init $MONIKER --chain-id stabletestnet_2201-1
 
# 이렇게 하면 ~/.stabled/에 구성 디렉토리가 생성됩니다.

참고: 체인 ID를 포함한 현재 네트워크 매개변수는 테스트넷 정보를 참조하십시오.

3단계: 제네시스 파일 다운로드

메인넷
# 기본 제네시스 백업 생성
mv ~/.stabled/config/genesis.json ~/.stabled/config/genesis.json.backup
 
# 메인넷 제네시스 다운로드
wget https://stable-data-dist.s3.us-east-1.amazonaws.com/mainnet/configuration/genesis.zip
unzip genesis.zip
 
# 제네시스를 구성 디렉토리로 이동
cp genesis.json ~/.stabled/config/genesis.json
 
# 제네시스 체크섬 확인
sha256sum ~/.stabled/config/genesis.json
# 예상: e1ceda79a3cc48a1028ca8646a2e9e2d156f610637cfb8b428ca8354277921f1

4단계: 노드 구성

구성 파일 다운로드

메인넷
# 최적화된 구성 다운로드 (노드 유형에 따라 하나 선택)
# RPC/풀 노드의 경우:
wget https://stable-data-dist.s3.us-east-1.amazonaws.com/mainnet/configuration/rpc_node_config.zip
unzip rpc_node_config.zip
 
# 아카이브 노드의 경우:
# wget https://stable-data-dist.s3.us-east-1.amazonaws.com/mainnet/configuration/archive_node_config.zip
# unzip archive_node_config.zip
 
# 원래 구성 백업
cp ~/.stabled/config/config.toml ~/.stabled/config/config.toml.backup
 
# 새 구성 적용
cp config.toml ~/.stabled/config/config.toml
 
# 구성에서 모니커 업데이트
sed -i "s/^moniker = \".*\"/moniker = \"$MONIKER\"/" ~/.stabled/config/config.toml

필수 구성 업데이트

~/.stabled/config/app.toml을 편집합니다.

# EVM 호환성을 위한 JSON-RPC 활성화
[json-rpc]
enable = true
address = "0.0.0.0:8545"
ws-address = "0.0.0.0:8546"
allow-unprotected-txs = true

~/.stabled/config/config.toml을 편집합니다.

메인넷
# P2P 구성
[p2p]
# 최대 피어 수
max_num_inbound_peers = 50
max_num_outbound_peers = 30
 
# 시드 노드
seeds = "c21897d374c480a963edcda941ac94030895f6b4@seed1.stable.xyz:46656"
 
# 영구 피어 (메인넷 시드 노드)
persistent_peers = "b896f6f8ca5a4d1cc40de09407df0c96e76df950@peer1.stable.xyz:26656"
 
# 피어 교환 활성화
pex = true
 
# RPC 구성
[rpc]
# 수신 주소
laddr = "tcp://0.0.0.0:26657"
 
# 동시에 열 수 있는 최대 연결 수
max_open_connections = 900
 
# CORS 설정 (프로덕션에 맞게 조정)
cors_allowed_origins = ["*"]

Systemd 서비스 설정

자동 관리를 위한 systemd 서비스를 생성합니다.

1단계: 서비스 파일 생성

메인넷
sudo tee /etc/systemd/system/stabled.service > /dev/null <<EOF
[Unit]
Description=Stable 데몬 서비스
After=network-online.target
 
[Service]
User=$USER
ExecStart=/usr/bin/stabled start --chain-id stable_988-1
Restart=always
RestartSec=3
LimitNOFILE=65535
StandardOutput=journal
StandardError=journal
SyslogIdentifier=stabled
 
[Install]
WantedBy=multi-user.target
EOF

2단계: 서비스 활성화 및 시작

# systemd 구성 재로드
sudo systemctl daemon-reload
 
# 부팅 시 서비스 시작 활성화
sudo systemctl enable stabled
 
# 서비스 시작
sudo systemctl start stabled
 
# 서비스 상태 확인
sudo systemctl status stabled
 
# 로그 보기
sudo journalctl -u stabled -f

코스모바이저 설정 (자동 업그레이드에 권장)

코스모바이저는 체인 업그레이드를 자동으로 처리하는 프로세스 관리자입니다. 이는 프로덕션 노드에 권장되는 설정입니다.

1단계: 코스모바이저 설치

# 코스모바이저 설치
go install cosmossdk.io/tools/cosmovisor/cmd/cosmovisor@latest
 
# 또는 사전 빌드된 바이너리 다운로드
wget https://github.com/cosmos/cosmos-sdk/releases/download/cosmovisor%2Fv1.7.0/cosmovisor-v1.7.0-linux-amd64.tar.gz
tar -xvzf cosmovisor-v1.7.0-linux-amd64.tar.gz
sudo mv cosmovisor /usr/bin/
 
# 설치 확인
cosmovisor version

2단계: 환경 변수 설정

# ~/.bashrc 또는 ~/.profile에 추가
echo "# 코스모바이저 구성" >> ~/.bashrc
echo "export DAEMON_NAME=stabled" >> ~/.bashrc
echo "export DAEMON_HOME=$HOME/.stabled" >> ~/.bashrc
echo "export DAEMON_ALLOW_DOWNLOAD_BINARIES=true" >> ~/.bashrc
echo "export DAEMON_RESTART_AFTER_UPGRADE=true" >> ~/.bashrc
echo "export DAEMON_LOG_BUFFER_SIZE=512" >> ~/.bashrc
echo "export UNSAFE_SKIP_BACKUP=true" >> ~/.bashrc
 
# 변수 로드
source ~/.bashrc

3단계: 코스모바이저 디렉토리 구조 설정

# 코스모바이저 디렉토리 구조 생성
mkdir -p ~/.stabled/cosmovisor/genesis/bin
mkdir -p ~/.stabled/cosmovisor/upgrades
 
# 현재 바이너리를 genesis로 복사
cp /usr/bin/stabled ~/.stabled/cosmovisor/genesis/bin/
 
# 현재 심볼릭 링크 생성
ln -s ~/.stabled/cosmovisor/genesis ~/.stabled/cosmovisor/current
 
# 설정 확인
ls -la ~/.stabled/cosmovisor/
cosmovisor run version

4단계: 환경 변수 설정

# 서비스 이름 설정 (기본값: stable)
export SERVICE_NAME=stable

5단계: 서비스 파일 생성

메인넷
sudo tee /etc/systemd/system/${SERVICE_NAME}.service > /dev/null <<EOF
[Unit]
Description=Cosmovisor 데몬
After=network-online.target
 
[Service]
Environment="DAEMON_NAME=stabled"
Environment="DAEMON_HOME=$HOME/.stabled"
Environment="DAEMON_RESTART_AFTER_UPGRADE=true"
Environment="DAEMON_ALLOW_DOWNLOAD_BINARIES=true"
Environment="DAEMON_LOG_BUFFER_SIZE=512"
Environment="UNSAFE_SKIP_BACKUP=true"
User=$USER
ExecStart=$(which cosmovisor) run start --chain-id stable_988-1
Restart=always
RestartSec=3
LimitNOFILE=65535
StandardOutput=journal
StandardError=journal
SyslogIdentifier=${SERVICE_NAME}
 
[Install]
WantedBy=multi-user.target
EOF

6단계: 서비스 활성화 및 시작

# systemd 재로드
sudo systemctl daemon-reload
 
# 서비스 활성화
sudo systemctl enable ${SERVICE_NAME}
 
# 서비스 시작
sudo systemctl start ${SERVICE_NAME}
 
# 상태 확인
sudo systemctl status ${SERVICE_NAME}
 
# 로그 보기
sudo journalctl -u ${SERVICE_NAME} -f

업그레이드 준비

체인 업그레이드 발표 시:

# 예시: v0.8.0 업그레이드 준비
UPGRADE_NAME="v0.8.0"
mkdir -p ~/.stabled/cosmovisor/upgrades/$UPGRADE_NAME/bin
 
# 새 바이너리 다운로드
wget https://stable-data-dist.s3.us-east-1.amazonaws.com/testnet/binary/stabled-0.8.0-linux-amd64-testnet.tar.gz
tar -xvzf stabled-0.8.0-linux-amd64-testnet.tar.gz
 
# 업그레이드 디렉토리에 배치
mv stabled ~/.stabled/cosmovisor/upgrades/$UPGRADE_NAME/bin/
 
# 바이너리 확인
~/.stabled/cosmovisor/upgrades/$UPGRADE_NAME/bin/stabled version
 
# Cosmovisor는 업그레이드 높이에서 자동으로 이 바이너리로 전환됩니다.

코스모바이저 모니터링

# 현재 바이너리 버전 확인
cosmovisor run version
 
# 업그레이드 정보 보기
ls -la ~/.stabled/cosmovisor/upgrades/
 
# 업그레이드 상태에 대한 서비스 로그 확인
sudo journalctl -u ${SERVICE_NAME} | grep -i upgrade
 
# 업그레이드 중 실시간 로그 모니터링
sudo journalctl -u ${SERVICE_NAME} -f

Systemd 서비스 수동 설정 (대안)

코스모바이저를 사용하지 않으려면 표준 systemd 서비스를 생성할 수 있습니다.

1단계: 환경 변수 설정

# 서비스 이름 설정 (기본값: stable)
export SERVICE_NAME=stable

2단계: 서비스 파일 생성

메인넷
sudo tee /etc/systemd/system/${SERVICE_NAME}.service > /dev/null <<EOF
[Unit]
Description=Stable 데몬 서비스
After=network-online.target
 
[Service]
User=$USER
ExecStart=/usr/bin/stabled start --chain-id stable_988-1
Restart=always
RestartSec=3
LimitNOFILE=65535
StandardOutput=journal
StandardError=journal
SyslogIdentifier=${SERVICE_NAME}
 
[Install]
WantedBy=multi-user.target
EOF

3단계: 서비스 활성화 및 시작

# systemd 구성 재로드
sudo systemctl daemon-reload
 
# 부팅 시 서비스 시작 활성화
sudo systemctl enable ${SERVICE_NAME}
 
# 서비스 시작
sudo systemctl start ${SERVICE_NAME}
 
# 서비스 상태 확인
sudo systemctl status ${SERVICE_NAME}
 
# 로그 보기
sudo journalctl -u ${SERVICE_NAME} -f

빠른 동기화 옵션

더 빠른 동기화를 위해 스냅샷 및 동기화 가이드를 참조하십시오.

  • 아카이브 노드 스냅샷
  • 정리(Pruned) 노드 스냅샷

설치 후 확인

노드 상태 확인

# 노드가 실행 중인지 확인
sudo systemctl status stabled
 
# 동기화 상태 확인
curl -s localhost:26657/status | jq '.result.sync_info'
 
# 연결된 피어 확인
curl -s localhost:26657/net_info | jq '.result.n_peers'
 
# 최신 블록 확인
curl -s localhost:26657/status | jq '.result.sync_info.latest_block_height'

로그 모니터링

# 서비스 로그 따라가기
sudo journalctl -u stabled -f
 
# 오류 확인
sudo journalctl -u stabled --since "1 hour ago" | grep -i error
 
# 피어 연결 확인
sudo journalctl -u stabled --since "10 minutes ago" | grep -i "peer"

보안 강화

설치 후 노드를 보호합니다.

방화벽 구성

# UFW 구성
sudo ufw allow 22/tcp  # SSH
sudo ufw allow 26656/tcp  # P2P
sudo ufw allow 26657/tcp  # RPC (외부에서 필요한 경우에만)
sudo ufw enable

다음 단계

  1. 노드 구성: 구성 가이드 참조
  2. 동기화 속도 향상: 스냅샷 및 동기화 확인
  3. 노드 모니터링: 모니터링 설정
  4. 커뮤니티 참여: Discord에서 지원 받기

문제 해결

설치 중 문제가 발생하면 다음을 수행합니다.

  • 문제 해결 가이드 확인
  • 시스템 요구 사항이 충족되었는지 확인
  • 방화벽에 의해 포트가 차단되지 않았는지 확인
  • 디스크 공간 및 권한 확인
  • systemd 로그에서 오류 검토