비트코인 풀 노드 설치하기: 리눅스에서 Dojo 사용하기

비트코인은 혁신적이고 자유로운 도구입니다. 비트코인은 개인이 온라인에서 다른 사람들과 쉽게 교환할 수 있는 독립적인 자원을 얻을 수 있게 해주며, 전자 현금과는 달리 비트코인은 네트워크에서 순환할 수 있는 동전의 총량을 제한하여 희소성을 생성합니다.
비트코인을 거래에 사용하기 시작하는 한 가지 방법은 모바일 지갑과 함께 풀 노드를 사용하는 것입니다. 사용할 수 있는 최고의 도구 중 하나는 Samourai Wallet와 함께 사용하는 Dojo입니다.
목차
- 비트코인은 어떻게 작동합니까?
- 비트코인 풀 노드를 사용하는 이유는 무엇입니까?
- Dojo란 무엇입니까?
- 우분투 리눅스에서 Dojo 설치 준비
- 우분투에서 Dojo 비트코인 노드 설치하기
- Samourai Wallet과 Dojo 연결하기
- 자주 묻는 질문
또한 읽어보세요: 비트코인의 라이트닝 네트워크란 무엇입니까?
비트코인은 어떻게 작동합니까?
비트코인은 본질적으로 변경할 수 없는 방식으로 기록을 추적하는 분산 데이터베이스입니다. 이는 세 가지 작업을 수행하는 시스템을 만듭니다:
- 데이터베이스의 모든 새로운 항목은 이전 항목에 의존하여 모든 항목을 서로 연결하는 역사적 사건의 체인을 생성합니다.
- 새 항목을 추가하려면 새로운 작업량을 수행해야 하며, 이는 누구든지 항목을 위조하려고 시도할 경우 그 작업과 이후 작업을 다시 수행해야 한다는 것을 의미합니다.
- 네트워크의 모든 풀 노드는 데이터베이스의 사본을 얻고, 각각의 참가자가 역사적 사실에 대한 올바른 버전에 동의하도록 허용하는 간단한 규칙 집합을 따릅니다.
비트코인의 이러한 특성은 시스템의 모든 새 항목이 이전 항목만큼 안전하다는 것을 보장합니다. 또한 분산된 특성 덕분에 중앙 권한 없이 운영할 수 있습니다.
이로 인해 비트코인은 제3자 없이 개인이 비공식적으로 거래하고자 하는 사람들에게 매우 유용합니다.
또한 읽어보세요: 웹을 탐색하여 암호화폐를 수익하는 방법
비트코인 풀 노드를 사용하는 이유는 무엇입니까?
비트코인 풀 노드는 비트코인 네트워크의 독립적인 참가자가 될 수 있는 소프트웨어입니다. 이는 네트워크의 거래 내역의 정확한 복사본을 제공하고, 일반 비트코인 지갑에서는 불가능한 여러 작업을 수행할 수 있도록 해줍니다.
예를 들어, 전체 거래 내역을 가지고 있으면 풀 노드는 들어오는 거래를 스스로 검증할 수 있습니다. 이는 비트코인을 비즈니스에 사용하는 사용자에게 특히 유용할 수 있습니다.
풀 노드를 운영하면 비트코인 네트워크의 아카이브가 될 수 있습니다. 자신의 풀 노드를 원하는 다른 사용자는 귀하의 노드를 시작점으로 사용할 수 있습니다.
마지막으로, 풀 노드를 사용하면 새 거래를 확인하고 방송할 때 외부 서버의 필요성이 사라집니다. 이는 비트코인을 사용할 때 보안과 프라이버시를 원하시는 사용자에게 유용할 수 있습니다.
풀 노드를 사용하는 가장 쉬운 방법 중 하나는 Dojo를 설치하는 것입니다.
Dojo란 무엇입니까?
Dojo는 안전한 비트코인 노드를 쉽게 생성하고 배포할 수 있도록 해주는 강력한 소프트웨어 제품군입니다. 또한 여러 개인 정보 보호 강화 애드온과 Tor를 활용하여 높은 수준의 보안을 유지하는 것을 목표로 하고 있습니다.

Dojo 설치는 리소스를 많이 소모하고 시간 소모적인 프로세스가 될 수 있다는 점에 유의하는 것이 중요합니다. 이는 비트코인 거래의 이력을 가져오기 위해 컴퓨터가 수신하는 모든 항목을 검증해야 하기 때문입니다. 예를 들어, 2011년의 내 Core 2 Duo 기계는 네트워크와 완전히 동기화하는 데 5일이 걸렸습니다.
또한, 모든 데이터를 저장할 수 있는 컴퓨터인지 확인하는 것이 좋습니다. 대부분의 경우, 1TB 드라이브면 전체 이력을 저장하고 새로운 파일을 위한 공간을 남길 수 있습니다.
이 튜토리얼은 우분투 22.04 머신에서 Dojo를 설치하는 데 중점을 두고 있습니다. 대부분의 명령어는 모든 리눅스 배포에서 작동해야 하지만, 패키지 및 프로그램의 이름은 다를 수 있습니다.
또한 읽어보세요: 웹3란 무엇이며 디지털 생활을 어떻게 변화시킬 것인가
우분투 리눅스에서 Dojo 설치 준비
시작하려면 먼저 시스템에 새 사용자 계정을 생성합니다:
sudo useradd -s/bin/bash-d/home/dojo -m-Gsudo dojo
sudopasswd dojo
이렇게 하면 Dojo가 실행할 구성 및 프로그램이 사용자 계정과 분리됩니다. 별도의 계정을 사용하면 사용자 오류가 Dojo에 영향을 미칠 가능성이 줄어듭니다.
작업이 완료되면 su dojo를 실행하여 Dojo 사용자로 전환한 다음, 일부 배포 판별 종속성을 설치합니다:
sudo apt update
sudo apt install gnupg-agent ca-certificates curl software-properties-common unzip tor torbrowser-launcher
다음으로, Docker와 Docker Compose의 리포지토리를 포함합니다.
Docker 릴리스를 위한 기본 서명 키를 다운로드하고 가져옵니다:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg |sudoapt-key add -Docker 리포지토리를 추가합니다:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt update
Docker 설치:
sudo apt install docker-ce docker-ce-cli
sudo usermod -aGdocker dojo마지막으로, docker-compose를 설치합니다:
sudo curl -L"https://github.com/docker/compose/releases/download/1.25.3/docker-compose-$(uname -s)-$(uname -m)"-o/usr/local/bin/docker-compose
sudochmod +x /usr/local/bin/docker-compose
Dojo를 머신에 다운로드하기 시작합니다:
wget https://code.samourai.io/dojo/samourai-dojo/-/archive/master/samourai-dojo-master.zip
모든 Dojo 파일을 머신에 추출합니다:
mkdir/home/$USER/dojo
unzip/home/$USER/samourai-dojo-master.zip -d/home/$USER/dojo
Dojo의 비밀 키 구성
Dojo 폴더의 “docker-bitcoind.conf.tpl” 파일을 엽니다:
nano/home/$USER/dojo/docker/my-dojo/conf/docker-bitcoind.conf.tpl편집해야 할 변수는 BITCOIN_RPC_USER=와 BITCOIN_RPC_PASSWORD=입니다. Dojo는 이를 사용하여 다른 원격 지갑에 연결합니다:
BITCOIN_RPC_USER=dojo
BITCOIN_RPC_PASSWORD=random_password
Dojo 데이터베이스 수정
다음으로 편집해야 할 파일은 “docker-mysql.conf.tpl”입니다. 이 파일에는 전체 노드와 직접적으로 관련되지 않은 모든 정보가 포함되어 있습니다:
nano/home/$USER/dojo/docker/my-dojo/conf/docker-mysql.conf.tpl이 구성 파일에서 세 개의 변수를 편집합니다: MYSQL_ROOT_PASSWORD=, MYSQL_USER= 및 MYSQL_PASSWORD=:
MYSQL_ROOT_PASSWORD=your_mysql_root_password
MYSQL_USER=dojo
MYSQL_PASSWORD=mysql_user_password
NodeJS 구성 수정
편집할 다음 파일은 “docker-node.conf.tpl”입니다. 이 파일은 Dojo 프론트엔드 인스턴스를 제어하고 전체 노드, MySQL 및 Dojo가 사용하는 모든 추가 기능을 결합하는 역할을 합니다:
nano/home/$USER/dojo/docker/my-dojo/conf/docker-node.conf.tpl이 파일 내에서 다음 변수를 편집합니다: NODE_API_KEY=, NODE_ADMIN_KEY= 및 NODE_JWT_SECRET=.
- NODE_API_KEY는 Dojo REST API에 대한 기본 비밀 키 역할을 합니다. 이 값은 다른 서비스가 필요할 때 Dojo와 쉽게 통신할 수 있도록 해줍니다.
- NODE_ADMIN_KEY는 Dojo 인스턴스에 대한 기본 비밀번호입니다. 이는 Dojo의 구성 패널에 접근할 때마다 입력해야 합니다.
- NODE_JWT_SECRET는 Dojo의 웹 토큰 시스템을 위한 기본 소금 역할을 하며, 모든 Dojo 세션의 강력한 암호화를 보장하는 값입니다.
NODE_API_KEY=random_node_api_key
NODE_ADMIN_KEY=random_node_admin_key
NODE_JWT_SECRET=random_node_jwt_secret
비트코인 블록 탐색기 구성
마지막으로 “docker-explorer.conf.tpl” 파일을 수정해야 합니다. 이 파일은 Dojo의 내부 블록 탐색기를 제어합니다:
nano/home/$USER/dojo/docker/my-dojo/conf/docker-explorer.conf.tpl이 구성 파일에서 두 변수를 편집합니다: EXPLORER_INSTALL= 및 EXPLORER_KEY=. 첫 번째 변수는 Dojo에 블록 탐색기를 설치하고 싶다는 것을 알려주며, 두 번째 변수는 애플리케이션의 비밀번호 역할을 합니다.
EXPLORER_INSTALL=on
EXPLORER_KEY=random_key
또한 읽어보세요: DeFi란 무엇이며 어떻게 작동합니까
우분투에서 Dojo 비트코인 노드 설치하기
다음으로 Dojo 설치 스크립트를 실행하여 시작합니다:
/home/$USER/dojo/docker/my-dojo/dojo.sh install설치 스크립트는 Dojo의 도커 컨테이너를 빌드하는 데 필요한 모든 도구를 다운로드하고, 필요한 도구와 프로그램을 빌드하는 컴파일 프로세스를 시작합니다.

스크립트가 Dojo 실행 파일을 시작하고 즉시 비트코인 네트워크와 동기화되며, 이는 터미널의 레이아웃과 색상 차이로 나타납니다. Ctrl + C를 눌러 프로세스를 백그라운드로 포크합니다.

Dojo의 동기화 진행 상태 확인하기
위에서 논의했듯이, 비트코인 네트워크와의 동기화는 몇 시간에서 며칠이 걸릴 수 있습니다. 노드의 진행 상황을 추적하고 동기화 중 발생할 수 있는 잠재적인 문제를 주의 깊게 살펴보는 것이 중요합니다.
Dojo의 진행 상황을 확인하는 방법에는 두 가지가 있습니다. 먼저 “dojo.sh” 파일을 사용하여 서버의 실행 로그를 생성합니다. 이는 서버의 진행 상황을 신속하게 확인하고 싶을 때 특히 유용합니다. 예를 들어, 이 명령을 실행하면 비트코인 전체 노드와 관련된 모든 로그가 표시됩니다:
/home/$USER/dojo/docker/my-dojo/dojo.sh logs bitcoind
Dojo 진행 상황을 전용 웹 포털을 사용하여 확인하는 것도 가능합니다. 그러나 컴퓨터에 Tor 브라우저의 사본이 있어야 하며, 다음 명령을 실행하여 Dojo가 사용하는 모든 Onion 주소를 출력합니다:
/home/$USER/dojo/docker/my-dojo/dojo.sh onion다음으로 Tor 브라우저를 통해 “Dojo API 및 유지 보수 도구”의 주소를 복사하여 로드합니다. 그러면 이전에 입력한 관리자 키를 입력할 수 있는 작은 프롬프트가 나타납니다.

Dojo는 노드의 간략한 요약과 서비스의 다양한 상태를 표시합니다. 이는 Dojo 인스턴스에 대한 보다 포괄적인 통찰력을 원하시는 경우 유용합니다.

또한 읽어보세요: 암호화폐 하드웨어 지갑에 대해 알아야 할 것
Samourai Wallet과 Dojo 연결하기
Dojo 노드가 비트코인 네트워크와 적절히 동기화되면 모바일 지갑과 연결할 수 있습니다. 기본적으로 Dojo 풀 노드는 안드로이드용 Samourai Wallet과 잘 작동합니다.

- 플레이 스토어에서 Samourai 지갑을 다운로드합니다.
- Samourai Wallet을 실행하고 “자신의 Dojo 서버에 연결”을 활성화한 다음 “QR 스캔“을 클릭합니다.

- Dojo 유지 관리 도구에서 웹사이트 메뉴 왼쪽에서 “페어링” 옵션을 클릭하여 스캔할 QR 코드를 생성합니다.

- Samourai Wallet로 돌아가서 웹사이트의 QR 코드를 스캔합니다.
축하합니다! 이제 Dojo를 통해 자신의 비트코인 풀 노드를 설정했습니다.
자주 묻는 질문
Dojo 비밀 키에 같은 비밀번호를 사용할 수 있나요?
예, 하지만 권장하지 않습니다. Dojo 풀 노드는 민감한 기능을 위해 제공한 키에 의존합니다. 만약 공격자가 단일 키를 통제하려고 시도하면 거래를 염탐하고 수정할 수 있는 가능성이 발생합니다.
Dojo가 Tor에 연결하는 동안 5%에서 멈췄습니다. 제 비트코인 노드가 고장 났나요?
이 상황은 대부분 Docker가 적절한 외부 연결을 확립할 수 없을 때 발생합니다. 이는 기계에 apt와 snap 버전 모두의 Docker가 설치되어 있을 때 발생할 수 있습니다.
이를 해결하려면 Docker의 모든 인스턴스를 제거하고 한 버전만으로 재설치하십시오.
“task: bitcoind가 120초 이상 차단되었습니다”라는 오류가 발생했습니다. Dojo에 무슨 문제가 있는 건가요?
대부분의 경우, 동기화 중에 기계의 자원이 부족하게 되어 프로그램이 “자체 정지“ 상태에 빠지게 되는 경우입니다. 이는 완전한 시스템 잠금을 초래할 수 있는 경우도 있습니다.
비트코인 노드를 동기화하고 관리하기 위해 컴퓨터에 충분한 자원이 있는지 확인하는 것이 중요합니다. 최소한 1TB의 공간과 8GB의 RAM이 있어야 비트코인 네트워크와 편안하게 동기화할 수 있습니다.
이미지 출처: Fernando Hernandez via Unsplash