본문으로 건너뛰기

풀노드 구축 방법

비트코인 코어나 노츠를 직접 설치하는 방법 외에 엄브렐이나 시타델 같은 패키지를 이용해 풀노드를 구성하는 방법도 있습니다. 아래는 기기별 설치 절차와 제가 사용한 오드로이드 구성 예시입니다.

아래의 2TB 권장은 구성 예시입니다. 블록 데이터는 계속 늘어나고, 가지치기 여부와 선택한 인덱스·앱에 따라 필요한 저장 공간이 달라집니다. 구축 전 Bitcoin Core의 저장 공간 안내와 사용할 앱의 요구사항을 확인하세요.

엄브렐 - x86 PC 기기​

엄브렐 공식 x86 설치 안내에 따라 USB 설치 프로그램으로 부팅한 뒤 내부 저장 장치에 OS를 설치합니다.

1단계: 준비물 확인

  1. 하드웨어 요구사항:

    • x86 기반의 PC (노트북 또는 데스크톱)
    • OS와 노드 데이터를 저장할 내부 드라이브 또는 SSD (1TB 이상을 구성 예시로 사용하며 2TB 권장)
    • USB 메모리 (Umbrel OS 설치 용도, 16GB 이상)
    • 안정적인 인터넷 연결
  2. 소프트웨어 요구사항:

    • Umbrel OS x86 버전
    • 부팅 가능한 USB를 만드는 도구 (예: balenaEtcher, Rufus)

2단계: Umbrel OS 다운로드 및 USB에 플래시

  1. Umbrel 공식 웹사이트에서 x86 버전의 Umbrel OS를 다운로드합니다.
  2. balenaEtcher 또는 Rufus를 사용해 USB 메모리에 Umbrel OS를 플래시:
    • Etcher 실행 → Umbrel OS 이미지 선택 → USB 메모리 선택 → Flash 시작
  3. USB가 부팅 가능한 상태가 됩니다.

3단계: 설치 대상 드라이브 확인

  1. PC 내부의 설치 대상 드라이브를 확인합니다.
  2. OS 설치 과정에서 대상 드라이브가 덮어써지므로 필요한 자료를 먼저 백업합니다. 외장 드라이브를 연결하는 것만으로 노드 데이터 저장소가 지정되지는 않습니다.

4단계: PC 부팅 설정

  1. x86 PC에 USB 메모리를 연결합니다.
  2. x86 PC를 켜고 BIOS/UEFI 설정에 진입:
    • 일반적으로 부팅 중 F2, Del, 또는 F12 키를 누릅니다.
  3. 부팅 디바이스를 USB 메모리로 설정하고 저장 후 종료합니다.

5단계: Umbrel 설정

  1. USB 설치 프로그램으로 부팅한 뒤 설치할 내부 드라이브를 선택합니다. 설치가 끝나면 전원을 끄고 USB를 제거한 뒤 다시 켭니다.
  2. 브라우저에서 http://umbrel.local 또는 PC의 IP 주소를 입력합니다.
  3. 초기 설정 진행:
    • 사용자 이름 및 비밀번호 설정
    • 네트워크 설정 확인
  4. 초기 설정 후 비트코인 노드 앱을 설치하고 사용할 저장 공간을 확인합니다.
정보

풀노드가 도메인으로 접속되지 않는 경우 풀노드 설치 기기의 IP 주소를 찾아 내부IP를 브라우저에 입력하여 접속하면 됩니다. 자세한 방법은 풀노드 접속방법 문서를 참고하세요.

6단계: 비트코인 노드 동기화

  1. Umbrel 대시보드에서 동기화 상태를 확인합니다.
  2. 동기화가 완료될 때까지 기다립니다.
    • 인터넷 속도와 하드 드라이브 성능에 따라 며칠이 걸릴 수 있습니다.

엄브렐 - 라즈베리파이 5 기기​

아래는 microSD에 OS를 설치하고 외장 SSD에 데이터를 저장하는 구성입니다. 공식 Pi 5 설치 안내에서 이 구성의 절차를 확인할 수 있습니다.

1단계: 준비물 확인

  1. 하드웨어 요구사항:

    • Raspberry Pi 5 (4GB RAM 이상 권장)
    • 최소 1TB 외장 하드 드라이브 또는 SSD / 2TB 권장
    • microSD 카드 (32GB 이상 권장)
    • 안정적인 인터넷 연결
    • Raspberry Pi 5용 USB-C 전원 어댑터
  2. 소프트웨어 요구사항:

    • Umbrel OS (Raspberry Pi 버전)
    • 부팅 가능한 microSD 카드 작성을 위한 소프트웨어 (예: balenaEtcher)

2단계: Umbrel OS 다운로드 및 설치

  1. Umbrel 공식 웹사이트에 접속합니다.
  2. Raspberry Pi용 Umbrel OS 이미지를 다운로드합니다.
  3. balenaEtcher를 사용해 Umbrel OS를 microSD 카드에 플래시:
    • Etcher 실행 → Umbrel OS 이미지 파일 선택 → microSD 카드 선택 → Flash 시작
  4. 플래시가 완료되면 microSD 카드를 Raspberry Pi에 삽입합니다.

3단계: 하드웨어 연결

  1. 외장 하드 드라이브 또는 SSD를 Raspberry Pi에 연결합니다.
  2. 이더넷 케이블로 라즈베리파이를 인터넷 라우터와 연결합니다.
  3. 전원 어댑터를 연결하여 Raspberry Pi를 켭니다.

4단계: Umbrel 초기화

  1. Raspberry Pi가 부팅되면, 브라우저에서 http://umbrel.local에 접속하거나, 라즈베리파이의 로컬 IP 주소를 입력합니다.
  2. 초기 설정 과정 진행:
    • 사용자 이름 및 비밀번호 설정
    • 네트워크 연결 확인
  3. 설정 후 비트코인 노드 앱을 설치하고 전체장부 동기화를 시작합니다.
정보

풀노드가 도메인으로 접속되지 않는 경우 풀노드 설치 기기의 IP 주소를 찾아 내부IP를 브라우저에 입력하여 접속하면 됩니다. 자세한 방법은 풀노드 접속방법 문서를 참고하세요.

시타델 - x86 PC 기기​

시타델 공식 설치 안내는 Debian/Ubuntu에서의 설치, Umbrel에서의 마이그레이션, 실험적인 Docker+Sysbox 구성을 안내합니다. x86 PC에 설치하려면 선택한 방식이 지원하는 기종과 OS 버전, 요구사항을 먼저 확인하세요. 이 안내가 x86용 USB 설치 이미지의 제공을 뜻하지는 않습니다.

참고: Citadel 공식 웹사이트. 위 설치 안내 저장소는 2023년 10월 2일에 아카이브되었습니다.

시타델 - 라즈베리파이 5 기기​

시타델 공식 설치 안내에 명시된 라즈베리파이 기종은 Raspberry Pi 4입니다. Pi 5에 설치하려면 사용할 배포물의 지원 기종과 버전을 먼저 확인해야 합니다. Pi 4용 안내를 Pi 5에 그대로 적용할 수 있다는 뜻은 아니며, 이 안내만으로 Pi 5에서 설치가 불가능하다고 단정할 수도 없습니다.

엄브렐 - 오드로이드 m1s​

아래는 제가 오드로이드 m1s에서 사용한 도커 기반 엄브렐 구성입니다. 명령어를 중심으로 정리한 경험 기록이며, 특정 OS와 컨테이너 조합을 전제로 합니다. 명령에 쓰인 이미지는 dockur/umbrel 프로젝트의 배포물입니다.

1단계: 오드로이드 m1s 부팅

오드로이드 m1s를 부팅하면 총 3개의 OS 설치 옵션이 나옵니다. 이 중에서 우분투(Ubuntu) 20.04 Server 버전을 선택합니다. 선택 후 몇 분 정도 설치하고 재부팅하라고 합니다. 재부팅합니다.


2단계: ssh로 접속

재부팅 후에는 오드로이드 m1s 기기에 직접 연결하지 않고 ssh로 연결해서 사용하면 됩니다. 제가 사용한 이미지의 초기 계정은 ID odroid / PW odroid 입니다. 이 정보를 활용하여 ssh 연결합니다. 연결을 위한 IP 확인은 Angry IP Scanner를 사용하면 됩니다.

ssh odroid@192.168.1.x

같은 IP에 접속한 적이 있다는 이유만으로 기록을 지울 필요는 없습니다. OS 재설치 등으로 호스트 키가 바뀐 경우, 접속 대상과 키 변경 이유를 확인한 뒤 기존 키 기록을 제거하고 다시 접속합니다. 아래 명령은 OpenSSH 설명에 나온 호스트 키 제거 옵션입니다.

ssh-keygen -R 192.168.1.x

3단계: 데스크톱 패키지 설치

제가 테스트한 구성에서는 아래 명령으로 데스크톱 패키지를 설치한 뒤 도커를 실행했습니다. 당시에는 22.04 버전 등으로 OS를 업그레이드하는 것보다 이 방법이 간편했습니다. 이 경험을 도커 실행에 데스크톱 환경이 항상 필요하다는 뜻으로 받아들이지는 마세요.

sudo apt update && sudo apt upgrade -y
sudo apt install -y ubuntu-desktop

설치가 완료되면 재부팅합니다.


4단계: 계정생성 및 권한 부여

재부팅 후 초기 ID/PW로 다시 ssh 접속한 후 내가 원하는 계정을 만든 후 어드민 계정 권한을 부여해야 합니다. 제가 구축대행할 때 사용하는 명령어 모음입니다. ID mybtc로 설정하는 경우입니다. mybtc가 아닌 다른 아이디를 사용하려면 원하는 것으로 바꾸세요.

sudo apt update && sudo apt upgrade -y
sudo adduser mybtc
sudo usermod -aG sudo mybtc
sudo su mybtc
cd ../mybtc
sudo apt update && sudo apt upgrade -y
sudo chown -R mybtc:mybtc /home/mybtc

5단계: ssd 마운트

제가 사용한 오드로이드 m1s에는 OS가 설치되는 64GB 자체 저장 장치가 있었습니다. 전체 블록을 보관하는 이 구성에서는 별도의 SSD(2TB 추천)를 포맷한 후 마운트합니다. 아래의 장치 경로는 예시입니다. 포맷 전에 실제 대상과 백업 여부를 확인하세요. //로 시작하는 두 줄은 설명이며 셸 명령이 아닙니다. UUID= 줄은 터미널에 실행하는 명령이 아니라 /etc/fstab에 기록할 내용입니다.

lsblk
sudo fdisk -l
sudo mkfs.ext4 /dev/nvme0n1
sudo mkdir /mnt/fullnode
cd ../../mnt/fullnode
sudo mount /dev/nvme0n1 /mnt/fullnode
// 언마운트는 sudo umount /dev/nvme0n1
sudo chown -R mybtc:mybtc /mnt/fullnode
sudo blkid
// ssd 장치의 디스크UUID를 찾아서 fstab에 등록하기 위한 과정 진행
sudo apt install nano
sudo nano /etc/fstab
UUID="디스크UUID" /mnt/fullnode ext4 defaults,auto,exec,rw 0 0
df -Th

이렇게 하면 마운트한 외장 ssd가 목록에 보입니다. 이제 설치하면 됩니다.


6단계: 도커 설치

도커 기반 엄브렐 구성을 위해 도커를 설치하고 활성화합니다.

sudo apt -y install fswatch jq rsync curl python3-semver python3-requests python3-yaml git
curl -fsSL https://get.docker.com | sh
sudo systemctl start docker
sudo systemctl enable docker
sudo systemctl status docker

7단계: 엄브렐 설치

마지막으로 도커로 엄브렐을 설치합니다. 제가 이 명령어 1줄을 찾기 위해 몇 시간을 테스트했는지 모릅니다. 제가 사용한 구성에서는 재부팅 후에도 엄브렐 화면이 자동으로 실행됐습니다. 저도 아래의 명령어로 오드로이드 m1s 기기에서 풀노드를 돌리고 있고, 구축대행 시에도 이 명령어를 사용하고 있습니다.

sudo docker run -d --restart always -p 80:80 -v /mnt/fullnode:/data -v /var/run/docker.sock:/var/run/docker.sock --stop-timeout 60 --pid=host --privileged dockurr/umbrel

이렇게 구성해 오드로이드 m1s에서 엄브렐을 사용했습니다.


엄브렐 - 오드로이드 m1​

오드로이드 m1에 도커를 사용하여 풀노드를 구축하는 방법도 있습니다. 아래는 SSD에 리눅스를 설치한 뒤 도커로 엄브렐을 실행한 구성입니다.

1단계: 오드로이드 m1 부팅

m1 본체와 모니터를 연결하고 전원을 공급하면 기기 자체 초기 화면이 나옵니다. 키보드 화살표로 위/아래 이동할 수 있고, 선택은 Enter키를 치면 됩니다. 화면에 있는 Exit to shell 메뉴로 이동하여 엔터키를 칩니다.

Exit to shell

커서가 깜빡입니다. 이곳에 키보드로 명령어를 입력하면 됩니다. 화면에 udhcpc 글자를 입력한 후 엔터를 칩니다.

udhcpc

그러면 다음과 같은 글자가 화면에 나오고 커서가 깜빡입니다. 화면에 netboot_default 글자를 입력합니다.

netboot_default

그러면 화면에는 별다른 변화가 없이 커서만 깜빡일 것입니다. exit 글자를 입력하고 엔터를 칩니다.

exit

그러면 네트워크에 연결하여 부팅 할 수 있는 OS 종류가 나옵니다. 여기서 원하는 버전의 우분투를 선택합니다. 키보드로 커서를 해당 위치로 이동한 뒤 엔터키를 누릅니다. 선택이 되어 부팅을 위한 준비가 바로 이루어지면 모니터 하단에 몇 가지 메시지가 떴다가 사라집니다.


2단계: 우분투 설치

잠시 기다리면 리눅스 설치 설정에 들어갑니다. 리눅스 설치는 어렵지 않습니다. 중간에 호스트 이름과 아이디 입력하는 부분만 잘 판단해서 진행하면 어렵지 않은 영어로 설치할 수 있습니다.

그리고 중간에 디스크 파티션을 설정하는 화면이 나오는데 [자동 - 디스크 전체 사용] 메뉴를 선택한 후 진행하면 SSD를 포맷한 후 우분투를 설치합니다.

여러 개의 파일을 네트워크로 다운로드한 후 설치합니다. 그리고 재부팅하라고 나옵니다. 부팅이 끝나면 화면에 로그인 화면이 나옵니다. 계정 아이디와 패스워드를 입력하면 끝납니다.


3단계: ssh로 접속

호스트를 fullnode, 계정을 mybtc라고 입력했을 때의 예시입니다.

ssh mybtc@fullnode.local

4단계: 도커 설치

도커 기반 엄브렐 구성을 위해 도커를 설치하고 활성화합니다.

sudo apt -y install fswatch jq rsync curl python3-semver python3-requests python3-yaml git
curl -fsSL https://get.docker.com | sh
sudo systemctl start docker
sudo systemctl enable docker
sudo systemctl status docker

5단계: 엄브렐 설치

마지막으로 도커로 엄브렐을 설치합니다. 제가 이 명령어 1줄을 찾기 위해 몇 시간을 테스트했는지 모릅니다. 제가 사용한 구성에서는 재부팅 후에도 엄브렐 화면이 자동으로 실행됐습니다. 저도 아래의 명령어로 오드로이드 m1 기기에서 풀노드를 돌리고 있고, 구축대행 시에도 이 명령어를 사용하고 있습니다.

sudo docker run -d --restart always -p 80:80 -v /home/mybtc:/data -v /var/run/docker.sock:/var/run/docker.sock --stop-timeout 60 --pid=host --privileged dockurr/umbrel

이제 오드로이드 m1 기기에 엄브렐이 구동됩니다.

스타트9 - 미니 PC 기기​

스타트9(StartOS)는 풀노드를 만드는 패키지 중 하나입니다. 아래는 영상 공개 시점(2025년 2월)의 화면을 기준으로 정리했으며, 버전에 따라 화면과 메뉴가 달라질 수 있습니다. 영상은 엄브렐 일색인 환경에서 벗어나 다른 풀노드 패키지도 널리 쓰였으면 하는 마음으로 만들었다고 설명하며, 발언자는 N95 칩이 달린 미니 PC에서 테스트했다고 말합니다.

1단계: 설치 USB 준비

스타트9 사이트에서 받은 설치 이미지를 USB에 굽고 그 USB로 부팅하는 과정은 영상에서 생략합니다. 아래는 부팅해서 설치 마법사가 열린 시점부터의 내용입니다.

2단계: 저장 장치 선택과 설치

  1. 설치 마법사에서 설치할 저장 장치를 고릅니다.
  2. 처음 설치한다면 공장 초기화(Factory Reset)를 선택합니다. 기존 내용이 모두 지워진다는 경고가 나오며, 확인한 뒤 계속(Continue)을 누릅니다.
  3. 설치가 끝나면 USB를 뺀 다음 재부팅합니다.

3단계: 처음 설정과 로그인

  1. 처음 설정 화면에서 새로 시작(Start Fresh)과 다른 곳의 백업에서 복구(Recover) 중 하나를 고릅니다. 풀노드를 처음 설치한다면 새로 시작을 선택합니다. 전체장부를 다시 받고 싶지 않다면 백업을 다른 곳에 저장해 두었다가 복구로 불러오는 방법이 있다고 영상은 설명합니다.
  2. 12자 이상 비밀번호를 두 번 입력해야 마침(Finish) 버튼이 활성화됩니다. 설정이 끝나면 같은 비밀번호로 로그인합니다.

4단계: 접속 방법

  1. 같은 네트워크의 컴퓨터에서는 브라우저로 설치 기기에 표시된 .local 주소나 IP 주소에 접속합니다.
  2. 원격에서는 화면에 표시된 토르 주소를 복사해 토르 브라우저로 엽니다. 휴대폰이라면 토르 브라우저 앱에서 같은 방식으로 접속할 수 있습니다.
  3. 발언자는 당시 스타트9에서 엄브렐의 테일스케일 같은 사설 연결 앱을 찾지 못해 토르로 원격 접속했다고 말합니다. 토르를 거치므로 속도가 더 느릴 수 있다는 점도 감안하라고 설명합니다.

5단계: 루트 인증서 등록 여부

일부 앱(예: 멤풀)을 로컬 연결로 쓰려면 루트 인증서를 등록해야 합니다. 등록 전에는 브라우저가 연결이 안전하지 않다는 경고를 보여 줍니다. 비트코인 노드와 일렉트럼 서버만 돌리고, 개인키 없이 조회만 하는 워치온리 서명 장치를 토르로 연결할 생각이라면 이 단계를 건너뛰어도 된다고 영상은 안내합니다. 등록 절차는 풀노드 접속방법 문서의 스타트9 절을 참고하세요.

6단계: 노드 설치와 동기화

마켓플레이스에서 비트코인 노드와 일렉트럼 서버를 설치하고 동기화를 마치면 풀노드로 쓸 수 있습니다. 일렉트럼 서버는 비트코인 노드의 동기화에 맞춰 진행되므로, 노드 동기화가 먼저 끝나야 한다고 영상은 설명합니다.

영상​

원본 영상: 스타트9 비트코인 풀노드 패키지 소개 (공개일: 2025-02-20)

링크 복사하기X에 공유페이스북에 공유쓰레드에 공유