Как запустить биткойн ноду в Ubuntu? Пошаговое руководство
Хотите самостоятельно проверять транзакции Bitcoin, не доверяя третьим лицам? Хотите защитить сеть Bitcoin? Создание собственного узла (ноды) позволяет это сделать.
Создание узла Bitcoin позволяет хранить копию всего блокчейна, всех предыдущих транзакций и правил, управляющих сетью.
Это руководство поможет вам настроить и запустить узел Bitcoin в Ubuntu 24.04, что предоставит вам полный контроль над взаимодействием с Bitcoin.
Требования
Для запуска полного узла вам понадобится следующее:
Аппаратное обеспечение:
- Выделенный сервер (Linux, Windows или macOS)
- Память: не менее 2 ГБ ОЗУ (рекомендуется 4 ГБ)
- Диск: около 600 ГБ свободного пространства для первоначальной загрузки блокчейна (плюс 5–10 ГБ ежемесячно) для полного узла или 10 ГБ для сокращенного.
- Интернет: цирокополосное соединение с минимальной скоростью загрузки 400 кбит/с
В идеале узел должен работать непрерывно или не менее 6 часов в день.
В демонстрации в этом руководстве используется выделенный сервер под управлением Ubuntu 24.04.
Пошаговый запуска ноды BTC
Шаг 1: обновите системные пакеты
Начните с проверки актуальности вашей системы, выполнив следующую команду для обновления списков пакетов и обновления установленных пакетов:
apt update && apt upgrade -y
Шаг 2: создайте пользователя без root прав с привилегиями sudo
Затем создайте нового пользователя для запуска Bitcoin Core:
adduser btc-user
Добавьте пользователя в группу sudo и переключитесь на нового пользователя:
usermod -aG sudo btc-user
su - btc-user
После того как вы переключитесь на нового пользователя, приглашение терминала изменится, отражая, что вы теперь вошли в систему как новый пользователь.
Шаг 3: загрузите и проверьте Bitcoin Core
Теперь на странице загрузок Bitcoin Core загрузите последнюю версию исполняемого файла. Для сервера Ubuntu выполните:
wget https://bitcoincore.org/bin/bitcoin-core-28.1/bitcoin-28.1-x86_64-linux-gnu.tar.gz
Далее скачиваем файлы проверки (файлы контрольной суммы и подписи SHA256):
wget https://bitcoincore.org/bin/bitcoin-core-28.1/SHA256SUMS
wget https://bitcoincore.org/bin/bitcoin-core-28.1/SHA256SUMS.asc
Затем, чтобы проверить, что хэш SHA256 двоичного файла соответствует значениям в файле контрольной суммы, выполните:
sha256sum --ignore-missing --check SHA256SUMS
Если контрольная сумма совпадает, это подтверждает, что загруженный файл не был подделан, и рядом с именем файла должно появиться сообщение ОК.
Теперь проверьте цифровую подпись. Убедитесь, что SHA256SUMS загруженного файла был создан разработчиками Bitcoin Core. Для этого клонируйте репозиторий с открытыми ключами и импортируйте их:
git clone https://github.com/bitcoin-core/guix.sigs
gpg --import guix.sigs/builder-keys/*
Затем подтвердите подлинность файла контрольной суммы, проверив его PGP-подпись:
gpg --verify SHA256SUMS.asc
Успешная верификация отобразит сообщение о «хорошей подписи» (good signature) от разработчика Bitcoin Core.
Шаг 4: извлеките загруженный файл
Теперь, когда вы загрузили и проверили архив Bitcoin Core, извлеките его содержимое с помощью следующей команды:
tar xvf bitcoin-28.1-x86_64-linux-gnu.tar.gz
Шаг 5: установите Bitcoin Core
Далее установите исполняемые файлы, выполнив:
sudo install -m 0755 -o root -g root -t /usr/local/bin bitcoin-28.1/bin/*
Шаг 6: настройте свой узел
Файл конфигурации Bitcoin (bitcoin.conf) позволяет настроить ваш узел. Выполните следующую команду, чтобы создать и открыть его в редакторе nano:
mkdir -p ~/.bitcoin
nano ~/.bitcoin/bitcoin.conf
Добавьте базовую конфигурацию в файл, скорректировав значения по мере необходимости:
server=1
txindex=1
rpcuser=your_rpc_username
rpcpassword=your_rpc_password
Дополнительные параметры конфигурации см. на странице примеров bitcoin.conf.
Читайте так же наш гайл - Как создать .conf файл для вашего кошелька? - Файл конфигурации кошелька.
Шаг 7: разрешите подключения
Чтобы разрешить вашему узлу Bitcoin взаимодействовать с другими узлами в сети и принимать входящие соединения, настройте брандмауэр так, чтобы он разрешал входящие соединения с портом 8333:
sudo ufw allow 8333/tcp
sudo ufw enable
Шаг 8: запустите узел Bitcoin
После установки Bitcoin Core и настройки файла конфигурации запустите свой узел, чтобы начать синхронизацию с сетью Bitcoin:
bitcoind -daemon
Опция -daemon запускает bitcoind в фоновом режиме.
Проверить, правильно ли работает узел, можно, получив информацию от узла с помощью следующей команды:
bitcoin-cli getblockchaininfo
Шаг 9: создайте службу Bitcoind
Чтобы обеспечить автоматический запуск вашего узла Bitcoin при загрузке, создайте службу systemd.
Если ваш узел в данный момент работает, сначала остановите его:
bitcoin-cli stop
Далее создайте и откройте файл сервиса с помощью текстового редактора nano:
sudo nano /etc/systemd/system/bitcoind.service
Затем добавьте в файл следующее содержимое:
[Unit]
Description=Bitcoin daemon
Documentation=https://github.com/bitcoin/bitcoin/blob/master/doc/init.md
# https://www.freedesktop.org/wiki/Software/systemd/NetworkTarget/
After=network-online.target
Wants=network-online.target
[Service]
ExecStart=/usr/local/bin/bitcoind -daemon \
-pid=/run/bitcoind/bitcoind.pid \
-conf=/home/btc-user/.bitcoin/bitcoin.conf \
-datadir=/home/btc-user/.bitcoin \
-startupnotify='systemd-notify --ready' \
-shutdownnotify='systemd-notify --stopping'
# Make sure the config directory is readable by the service user
PermissionsStartOnly=true
ExecStartPre=/bin/chgrp btc-user /home/btc-user/.bitcoin
# Process management
####################
Type=notify
NotifyAccess=all
PIDFile=/run/bitcoind/bitcoind.pid
Restart=on-failure
TimeoutStartSec=infinity
TimeoutStopSec=600
# Directory creation and permissions
####################################
# Run as bitcoin:bitcoin
User=btc-user
Group=btc-user
# /run/bitcoind
RuntimeDirectory=bitcoind
RuntimeDirectoryMode=0710
# /etc/bitcoin
ConfigurationDirectory=bitcoin
ConfigurationDirectoryMode=0710
# /var/lib/bitcoind
StateDirectory=bitcoind
StateDirectoryMode=0710
# Hardening measures
####################
# Provide a private /tmp and /var/tmp.
PrivateTmp=true
# Mount /usr, /boot/ and /etc read-only for the process.
ProtectSystem=full
# Deny access to /home, /root and /run/user
#ProtectHome=true
# Disallow the process and all of its children to gain
# new privileges through execve().
NoNewPrivileges=true
# Use a new /dev namespace only populated with API pseudo devices
# such as /dev/null, /dev/zero and /dev/random.
PrivateDevices=true
# Deny the creation of writable and executable memory mappings.
MemoryDenyWriteExecute=true
# Restrict ABIs to help ensure MemoryDenyWriteExecute is enforced
SystemCallArchitectures=native
[Install]
WantedBy=multi-user.target
Примечание: если вы используете другие пути установки или другого пользователя/группу, обновите значения ExecStart, ExecStartPre, User, и Group соответствующим образом.
После сохранения файла перезагрузите systemd, включите службу и запустите ее:
sudo systemctl daemon-reload
sudo systemctl enable bitcoind.service
sudo systemctl start bitcoind
Наконец, убедитесь, что ваш узел Bitcoin работает правильно, проверив его статус обслуживания:
sudo systemctl status bitcoind
Если все пойдет хорошо, вы увидите активный и работающий объект.
Нажмите q или Ctrl+C, чтобы выйти из процесса и проверить информацию об узле, используя:
bitcoin-cli getblockchaininfo
Шаг 10: Проверьте синхронизацию
В зависимости от скорости вашего соединения и текущего размера блокчейна, синхронизация может занять от нескольких часов до нескольких дней. Узел в этой демонстрации синхронизировался примерно за 14 часов.
После полной синхронизации вашего узла вы должны увидеть verificationprogress метку, близкую к 1.0 (100%), initialblockdownload изменится на false, а для полной ноды количество блоков будет равно количеству заголовков.
Шаг 11: проверьте входящие соединения
После полной синхронизации узла проверьте его способность принимать входящие соединения с помощью онлайн-инструмента BitNodes.
Когда узел запущен, перейдите на сайт BitNodes, введите свой публичный IP-адрес в соответствующее поле и нажмите ПРОВЕРИТЬ УЗЕЛ.
Проверьте, принимает ли узел входящие соединения.
Инструмент сообщит вам, открыт ли ваш порт. Зеленый квадратик означает, что порт открыт, а красный - что закрыт.
Вопрос-ответ
Что такое узел Bitcoin?
Блокчейн Биткойна - это общая база данных, обновляемая и хранимая тысячами независимых компьютеров, проверяющих каждую запись. Узел Bitcoin - это компьютер с программным обеспечением, который проверяет и учитывает данные, поддерживая безопасность и децентрализацию сети.
Зачем вам запускать узел Bitcoin?
Запуск биткойн-узла полезен и для вас, и для всей сети. Он повышает децентрализацию, позволяет самостоятельно проверять транзакции без доверия третьим сторонам, улучшает вашу конфиденциальность и помогает лучше понять работу Bitcoin.











