※ 본 가이드는 서버 생성 시 추가 저장장치(SSD)를 별도로 할당하여 마운트한 환경을 기준으로 작성되었습니다.
저장 공간을 루트 디렉토리(/)에서 직접 사용하는 방식은 안정성과 확장성 측면에서 권장되지 않으므로, 해당 구성에 대한 내용은 본 문서에서 다루지 않습니다.
만약 추가 저장장치를 사용하지 않고 루트 디렉토리를 활용하는 환경이라면, 별도로 제공되는 다른 가이드를 참고하시기 바랍니다.
1) 디스크 준비 단계
A) 추가 디스크(Volume) 마운트 방식
A-1. 디스크 확인
lsblk -f
sudo blkid
df -h
- 예:
/dev/sdb가 ext4로 잡혀 있고/mnt/HC_Volume_...로 마운트돼 있으면 “이미 준비됨”.
A-2. (권장) 마운트 경로를 /data 로 고정
/mnt/HC_Volume_... 는 길고 불편하니 /data 로 옮기는 걸 추천.
- 현재 마운트 해제 후 /data로 마운트
sudo umount /mnt/HC_Volume_XXXXX # 너의 실제 경로로 변경
sudo mkdir -p /data
sudo mount /dev/sdb /data
df -h | grep /data
- 재부팅해도 자동 마운트되도록 fstab에 UUID 등록
sudo nano /etc/fstab
아래 한 줄 추가(예시는 UUID 자리만 네 것으로):
UUID=YOUR_UUID_HERE /data ext4 defaults,nofail,x-systemd.device-timeout=10 0 2
적용 테스트:
sudo mount -a
df -h | grep /data
UUID로 고정하는 이유: 장치명이 sdb→sdc로 바뀌어도 안전하게 마운트됨.
2) 노드 설치
2-1. 노드 전용 유저 생성
sudo adduser xec
sudo usermod -aG sudo xec
이후부터는 가능하면 xec 유저로 작업:
su - xec
2-2. 필수 패키지 설치
sudo apt update && sudo apt -y upgrade
sudo apt -y install curl wget jq ufw ca-certificates
2-3. 방화벽(UFW) 설정
- SSH(22) 는 열어두고
- 노드 P2P 포트는 기본 8333 (incoming 연결을 받는 게 중요)
sudo ufw allow OpenSSH
sudo ufw allow 8333/tcp
sudo ufw --force enable
sudo ufw status
Avalanche는 “노드가 네트워크에 잘 연결되어 있어야” 제대로 동작합니다.
incoming 연결을 받도록 방화벽/네트워크를 꼭 점검하라고 공식 튜토리얼에서도 강조합니다.
3) Bitcoin ABC(eCash 노드) 설치 (최신 버전 기준)
현재 최신 릴리스는 Bitcoin ABC 0.32.7 입니다.
3-1. 다운로드/압축해제
cd /tmp
VER=0.32.7
wget https://download.bitcoinabc.org/latest/linux/bitcoin-abc-0.32.7-x86_64-linux-gnu.tar.gz
tar xzf bitcoin-abc-0.32.7-x86_64-linux-gnu.tar.gz
3-2. /opt로 이동 + 심볼릭 링크(추후 업데이트 편하게)
sudo mkdir -p /opt
sudo mv bitcoin-abc-0.32.7 /opt/
sudo ln -sfn /opt/bitcoin-abc-0.32.7 /opt/bitcoin-abc
sudo ln -sfn /opt/bitcoin-abc/bin/bitcoind /usr/local/bin/bitcoind
sudo ln -sfn /opt/bitcoin-abc/bin/bitcoin-cli /usr/local/bin/bitcoin-cli
bitcoind --version
4) 데이터 디렉토리(datadir) 준비
추가 디스크(/data)에 저장
sudo mkdir -p /data/bitcoinabc
sudo chown -R xec:xec /data/bitcoinabc
sudo chmod 700 /data/bitcoinabc
5) 설정 파일(bitcoin.conf) 만들기
기본 설정 템플릿
아래에서 DATADIR만 맞게 바꿔 넣을 거예요.
- 추가디스크:
/data/bitcoinabc
sudo -iu xec
DATADIR="/data/bitcoinabc"
nano ${DATADIR}/bitcoin.conf
내용 예시: (아래 내용 그대로 복사 후 nano 에디터에 붙여 넣기, 마우스 우클릭)
server=1
listen=1
# 성능(16GB RAM이면 4096 정도 무난)
dbcache=4096
6) systemd 서비스로 실행
6-1. 서비스 파일 생성(root로)
exit # xec -> root로 복귀
sudo nano /etc/systemd/system/bitcoinabc.service
아래 내용 그대로 복사 후 nano 에디터에 붙여 넣기
[Unit]
Description=Bitcoin ABC (eCash) Node
After=network-online.target
Wants=network-online.target
[Service]
User=xec
Group=xec
Type=simple
# A: /data/bitcoinabc
# B: /var/lib/bitcoinabc
ExecStart=/usr/local/bin/bitcoind -datadir=/data/bitcoinabc
ExecStop=/usr/local/bin/bitcoin-cli -datadir=/data/bitcoinabc stop
Restart=on-failure
RestartSec=5
LimitNOFILE=65535
NoNewPrivileges=true
PrivateTmp=true
[Install]
WantedBy=multi-user.target
6-2. 노드 실행
sudo systemctl daemon-reload
sudo systemctl enable --now bitcoinabc
sudo systemctl status bitcoinabc --no-pager
로그 보기:
sudo journalctl -u bitcoinabc -f
7) 초기 동기화(IBD) 확인
동기화 상태 확인:
sudo -iu xec
bitcoin-cli -datadir=/data/bitcoinabc getblockchaininfo
blocks와headers값이 같아지고,- 최신 체인 끝(tip)에 도달하면 노드 설치 완료.