bolt Valebyte VPS від $4/міс — NVMe, запуск за 60 секунд.

Отримати VPS arrow_forward
eco Початковий Туторіал

Встановлення та налаштування Bitcoin

calendar_month Jul 12, 2026 schedule 19 хв. читання visibility 27 переглядів
Установка и настройка Bitcoin Full Node на VPS: безопасность и автоматические обновления
info

Потрібен сервер для цього гайду? Ми пропонуємо виділені сервери та VPS у 50+ країнах з миттєвим налаштуванням.

Потрібен сервер для цього гайду?

Розгорніть VPS або виділений сервер за хвилини.

Встановлення та налаштування Bitcoin Full Node на VPS: безпека та автоматичні оновлення

TL;DR

У цьому посібнику ми крок за кроком налаштуємо повнофункціональну ноду Bitcoin Core (Full Node) на операційній системі Ubuntu 24.04 LTS, розміщеній на віртуальному приватному сервері (VPS). Ви навчитеся встановлювати та конфігурувати програмне забезпечення, забезпечувати базову безпеку сервера за допомогою SSH-ключів, файрволу UFW та Fail2ban, а також налаштуєте систему для автоматичних оновлень операційної системи та безпечного обслуговування Bitcoin-ноди, щоб забезпечити її стабільну та надійну роботу в мережі Bitcoin.

  • Налаштуємо безпечний доступ до VPS та базовий файрвол.
  • Встановимо та запустимо Bitcoin Core як системний сервіс.
  • Забезпечимо автоматичні оновлення операційної системи та її компонентів.
  • Налаштуємо моніторинг та стратегію обслуговування для Bitcoin-ноди.
  • Підготуємося до масштабування та подальшої оптимізації.

Що ми налаштовуємо і навіщо

Схема: Що ми налаштовуємо і навіщо
Схема: Що ми налаштовуємо і навіщо

У цьому посібнику ми зосередимося на встановленні та налаштуванні Bitcoin Full Node, використовуючи офіційний клієнт Bitcoin Core, на віртуальному приватному сервері (VPS) під керуванням Ubuntu 24.04 LTS. Повнофункціональна нода є критично важливим елементом інфраструктури Bitcoin, оскільки вона повністю валідує всі транзакції та блоки, забезпечуючи децентралізацію та безпеку мережі.

Що отримає читач у підсумку:

  • Ви матимете свою власну, незалежну та повністю синхронізовану копію всього блокчейну Bitcoin.
  • Ваша нода активно братиме участь у перевірці та ретрансляції транзакцій, а також у забезпеченні безпеки мережі.
  • Ви зможете використовувати свою ноду для підключення легких гаманців (наприклад, Electrum, Sparrow) або для розробки власних децентралізованих додатків (dApps), покладаючись на перевірені дані.
  • Ви отримаєте досвід роботи з Linux-серверами, налаштування безпеки та автоматизації обслуговування.

Які альтернативи є і чому self-hosted на VPS:

Існують альтернативи запуску власної ноди, такі як використання сторонніх API (наприклад, Blockchair, Blockchain.com) або легких гаманців, які покладаються на чужі ноди. Однак ці підходи мають суттєві недоліки:

  • Залежність від третіх сторін: Ви довіряєте перевірку транзакцій та балансів комусь іншому, що суперечить основоположним принципам децентралізації Bitcoin. Це може призвести до втрати приватності та цензури.
  • Ризики безпеки: Передача ваших даних стороннім сервісам збільшує поверхню атаки та ризики компрометації.
  • Обмеження та вартість: Багато сторонніх API мають обмеження за кількістю запитів або вимагають платної підписки для повноцінного використання.

Запуск self-hosted ноди на VPS усуває ці проблеми. Ви повністю контролюєте свої дані, забезпечуєте максимальну приватність та безпеку, а також активно сприяєте децентралізації мережі. VPS пропонує оптимальний баланс між контролем виділеного сервера та гнучкістю хмарних рішень, роблячи його ідеальним вибором для більшості користувачів.

Який VPS-конфіг потрібен для цього завдання

Схема: Який VPS-конфіг потрібен для цього завдання
Схема: Який VPS-конфіг потрібен для цього завдання

Запуск Bitcoin Full Node вимагає певних ресурсів, в основному через розмір блокчейну та необхідність його постійної синхронізації. До 2026 року розмір блокчейну Bitcoin продовжить зростати, тому важливо вибирати конфігурацію із запасом.

Мінімальні вимоги (актуальні на 2026 рік):

  • CPU: 2 ядра. Bitcoin Core не вимагає дуже потужного процесора, але кілька ядер корисні для обробки транзакцій та індексації.
  • RAM: 4 ГБ. Хоча сама нода може працювати і з 2 ГБ, 4 ГБ забезпечують більш плавну роботу, особливо під час початкової синхронізації та при використанні додаткових сервісів (наприклад, ElectrumX).
  • Диск: SSD 2 ТБ. Це критично важливо. Блокчейн Bitcoin вже перевищує 600 ГБ і продовжує зростати. До 2026 року його розмір легко може досягти 1-1.5 ТБ, тому 2 ТБ SSD — це розумний мінімум із запасом на кілька років. SSD значно прискорює початкову синхронізацію та повсякденну роботу ноди.
  • Мережа: 100 Мбіт/с або краще. Необмежений трафік або дуже великий ліміт (кілька ТБ на місяць). Початкова синхронізація вимагатиме завантаження всього блокчейну, а потім нода постійно обмінюватиметься даними з мережею.

Конкретний VPS-план для завдання:

Для стабільної та продуктивної роботи Bitcoin Full Node, особливо з урахуванням зростання блокчейну до 2026 року, рекомендується наступна конфігурація:

  • CPU: 4 ядра.
  • RAM: 8 ГБ.
  • Диск: 2 ТБ NVMe SSD. NVMe SSD забезпечить найкращу продуктивність для операцій читання/запису блокчейну.
  • Мережа: 1 Гбіт/с порт з необмеженим трафіком.

Такий план забезпечить комфортну роботу ноди, швидку синхронізацію та запас ресурсів для майбутніх потреб. Можна взяти VPS із зазначеними характеристиками.

Коли потрібен dedicated, а не VPS:

Dedicated сервер може знадобитися, якщо ви плануєте:

  • Запускати кілька ресурсоємних Bitcoin-сервісів (наприклад, кілька нод, ElectrumX, блокчейн-експлорер, Lightning Network ноду).
  • Обробляти дуже великий обсяг запитів до вашої ноди (наприклад, для великого застосунку або сервісу).
  • Потрібна максимальна продуктивність введення/виведення, яку не можуть забезпечити VPS.
  • Вам потрібні гарантії ресурсів, які VPS може не завжди надати через віртуалізацію.

Для більшості індивідуальних користувачів та малих команд VPS із зазначеними характеристиками буде більш ніж достатньо. Якщо ви вирішите, що вам потрібен dedicated сервер, можна розглянути відповідний dedicated.

Локація: на що впливає:

  • Пінг та затримка: Чим ближче сервер до вас, тим нижчий пінг. Це важливо, якщо ви часто підключатиметеся до сервера по SSH або використовуватимете його для інтерактивних застосунків.
  • Мережева зв'язність: Розташування сервера у великому дата-центрі з хорошими каналами зв'язку забезпечить швидшу та стабільнішу синхронізацію з мережею Bitcoin.
  • Юрисдикція: Вибір країни розміщення може мати значення з точки зору законодавства та приватності. Переконайтеся, що юрисдикція відповідає вашим вимогам.

Для Bitcoin Full Node критично важлива хороша мережева зв'язність та швидкість, тому вибирайте локацію з надійними каналами зв'язку, бажано у великому інтернет-хабі.

Підготовка сервера

Схема: Підготовка сервера
Схема: Підготовка сервера

Перед встановленням Bitcoin Core необхідно виконати базове налаштування безпеки та оновити операційну систему. Ми будемо використовувати Ubuntu 24.04 LTS.

1. Підключення по SSH та створення нового користувача

Спочатку ви, швидше за все, підключаєтеся як root. Вкрай не рекомендується використовувати root для повсякденної роботи. Створимо нового користувача з правами sudo.


# Замініть 'youruser' на бажане ім'я користувача
sudo adduser youruser

Введіть пароль для нового користувача та підтвердіть решту даних (можна залишити порожніми). Тепер додайте користувача до групи sudo:


sudo usermod -aG sudo youruser

Вийдіть із сесії root та увійдіть під новим користувачем:


exit
# Тепер підключіться як 'youruser'
ssh youruser@your_vps_ip

2. Налаштування SSH-ключів (рекомендується)

Використання SSH-ключів замість пароля значно підвищує безпеку. Згенеруйте ключі на вашій локальній машині (якщо ще немає):


# На вашій локальній машині
ssh-keygen -t rsa -b 4096

Скопіюйте публічний ключ на сервер:


# На вашій локальній машині
ssh-copy-id youruser@your_vps_ip

Тепер ви можете підключитися без пароля. Після перевірки, що вхід за ключем працює, вимкніть вхід за паролем для SSH, відредагувавши файл /etc/ssh/sshd_config:


sudo nano /etc/ssh/sshd_config

Знайдіть рядки та змініть/додайте:


PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no

Також рекомендується змінити стандартний порт SSH (22) на інший, наприклад, 2222. Знайдіть рядок #Port 22, розкоментуйте його та змініть:


Port 2222

Збережіть зміни (Ctrl+O, Enter) та вийдіть (Ctrl+X). Перезапустіть SSH-сервіс:


sudo systemctl restart sshd

Тепер при наступному підключенні використовуйте новий порт: ssh -p 2222 youruser@your_vps_ip.

3. Оновлення системи та встановлення базових утиліт

Оновіть список пакетів та саму систему до останніх версій. Встановіть необхідні утиліти.


# Оновлення списку пакетів
sudo apt update

# Оновлення встановлених пакетів системи
sudo apt upgrade -y

# Встановлення базових утиліт, якщо їх немає
sudo apt install -y curl wget git build-essential htop screen unattended-upgrades

4. Налаштування файрволу (UFW)

UFW (Uncomplicated Firewall) — це зручна утиліта для керування iptables. Налаштуємо його, щоб дозволити лише необхідні з'єднання.


# Встановлення UFW, якщо не встановлено
sudo apt install -y ufw

# Дозволити SSH (обов'язково використовуйте ваш порт, якщо ви його змінили)
# Наприклад, якщо ви використовуєте порт 2222
sudo ufw allow 2222/tcp

# Дозволити вхідні з'єднання для Bitcoin P2P (порт 8333)
sudo ufw allow 8333/tcp

# Дозволити вихідні з'єднання (за замовчуванням дозволені, але можна явно вказати)
sudo ufw default deny incoming
sudo ufw default allow outgoing

# Увімкнути файрвол
sudo ufw enable

Підтвердіть дію, ввівши y. Перевірте статус файрволу:


sudo ufw status verbose

5. Встановлення Fail2ban

Fail2ban сканує логи сервісів (SSH, веб-сервери тощо) на предмет підозрілої активності (багаторазові невдалі спроби входу) та тимчасово або перманентно блокує IP-адреси порушників.


# Встановлення Fail2ban
sudo apt install -y fail2ban

Створіть локальну конфігурацію Fail2ban, щоб ваші зміни не були перезаписані під час оновлення:


sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local

У файлі jail.local знайдіть секцію [sshd] та переконайтеся, що вона увімкнена (enabled = true). Якщо ви змінили порт SSH, вкажіть його:


[sshd]
enabled = true
port = 2222 # Ваш SSH порт
maxretry = 3 # Кількість невдалих спроб до блокування
bantime = 1h # Час блокування (1 година)

Збережіть зміни та перезапустіть Fail2ban:


sudo systemctl restart fail2ban

Тепер ваш сервер готовий до встановлення Bitcoin Core.

Встановлення ПЗ — покроково

Схема: Встановлення ПЗ — покроково
Схема: Встановлення ПЗ — покроково

Ми будемо встановлювати Bitcoin Core версії 26.0 (або новішої, актуальної на 2026 рік) з офіційних бінарних файлів. Цей метод є кращим за збірку з вихідних кодів для більшості користувачів, оскільки він швидший і менш ресурсомісткий. Для зручності створимо окремого користувача bitcoin, під яким працюватиме нода.

1. Створення користувача Bitcoin

Створимо системного користувача bitcoin, який не матиме доступу до оболонки (shell) та домашньої директорії, що підвищить безпеку.


# Створення системного користувача 'bitcoin'
sudo adduser --system --group --home /var/lib/bitcoin bitcoin

Створимо директорію для даних блокчейну та встановимо правильні права:


# Створення директорії для даних Bitcoin та встановлення власника
sudo mkdir -p /var/lib/bitcoin/.bitcoin
sudo chown -R bitcoin:bitcoin /var/lib/bitcoin

2. Завантаження Bitcoin Core

Перейдемо до тимчасової директорії та завантажимо бінарні файли Bitcoin Core. На 2026 рік актуальною може бути версія 26.0, 27.0 або вище. Перевірити останню стабільну версію можна на офіційному сайті Bitcoin Core або на їхньому GitHub-репозиторії.

Для прикладу, ми будемо використовувати версію 26.0, припускаючи, що вона або її мінорні оновлення будуть актуальними. Замініть URL на актуальний для 2026 року.


# Переходимо до тимчасової директорії
cd /tmp

# Завантажуємо архів Bitcoin Core (приклад для Linux x86_64, версія 26.0)
# Перевіряйте актуальний URL на bitcoincore.org/en/download/
wget https://bitcoincore.org/bin/bitcoin-core-26.0/bitcoin-26.0-x86_64-linux-gnu.tar.gz

# Завантажуємо файл підписів (SHA256SUMS)
wget https://bitcoincore.org/bin/bitcoin-core-26.0/SHA256SUMS

# Завантажуємо файл підписів (SHA256SUMS.asc) для верифікації
wget https://bitcoincore.org/bin/bitcoin-core-26.0/SHA256SUMS.asc

3. Верифікація завантажених файлів

Вкрай важливо переконатися в цілісності та справжності завантажених файлів. Ми перевіримо SHA256-суми та GPG-підпис.


# Перевірка SHA256-суми
sha256sum --check --ignore-missing SHA256SUMS

Ви повинні побачити bitcoin-26.0-x86_64-linux-gnu.tar.gz: OK. Якщо ні, файл пошкоджений.

Тепер імпортуємо публічні GPG-ключі розробників Bitcoin Core. Список ключів можна знайти на bitcoincore.org/en/download/.


# Імпорт публічних GPG-ключів (приклад ключів для розробників Bitcoin Core)
# Використовуйте актуальні ключі з bitcoincore.org
gpg --keyserver hkps://keys.openpgp.org --recv-keys 01090831DBF626E7C4106593E20F76A000216E14
gpg --keyserver hkps://keys.openpgp.org --recv-keys 898BDDCCEB09F62EE8482A6C1167664B7AB8D654

Після імпорту ключів верифікуємо підпис SHA256SUMS.asc:


# Верифікація GPG-підпису
gpg --verify SHA256SUMS.asc

Ви повинні побачити повідомлення, що вказує на хороший підпис (Good signature from "..."). Можливо, буде попередження про те, що ключ не є повністю довіреним (This key is not certified with a trusted signature!), це нормально, якщо ви перевірили відбиток ключа.

4. Видобування та встановлення бінарних файлів


# Розпакування архіву
tar -xzvf bitcoin-26.0-x86_64-linux-gnu.tar.gz

# Копіювання бінарних файлів до /usr/local/bin
sudo install -m 0755 -o root -g root -t /usr/local/bin bitcoin-26.0/bin/

Видаляємо тимчасові файли:


# Видалення тимчасових файлів
rm -rf bitcoin-26.0 bitcoin-26.0-x86_64-linux-gnu.tar.gz SHA256SUMS SHA256SUMS.asc

5. Створення systemd сервісу для Bitcoin Core

Запустимо Bitcoin Core як системний сервіс, що дозволить йому автоматично запускатися при старті сервера та керуватися за допомогою systemctl.


# Створення файлу сервісу
sudo nano /etc/systemd/system/bitcoind.service

Вставте наступний вміст:


[Unit]
Description=Bitcoin daemon
After=network.target

[Service]
User=bitcoin
Group=bitcoin
Type=forking
PIDFile=/var/lib/bitcoin/.bitcoin/bitcoind.pid
ExecStart=/usr/local/bin/bitcoind -daemon -pid=/var/lib/bitcoin/.bitcoin/bitcoind.pid -conf=/var/lib/bitcoin/.bitcoin/bitcoin.conf -datadir=/var/lib/bitcoin/.bitcoin
ExecStop=/usr/local/bin/bitcoin-cli -conf=/var/lib/bitcoin/.bitcoin/bitcoin.conf -datadir=/var/lib/bitcoin/.bitcoin stop
Restart=on-failure
PrivateTmp=true
TimeoutStopSec=120
LimitNOFILE=8192

[Install]
WantedBy=multi-user.target

Збережіть файл і закрийте редактор.

Перезавантажте systemd, щоб він побачив новий сервіс, і увімкніть його автозапуск:


# Перезавантаження systemd
sudo systemctl daemon-reload

# Увімкнення автозапуску сервісу при завантаженні системи
sudo systemctl enable bitcoind

Тепер Bitcoin Core встановлено та готово до запуску.

Конфігурація

Схема: Конфігурація
Схема: Конфігурація

Для коректної роботи Bitcoin Core необхідно створити та налаштувати файл bitcoin.conf. Цей файл знаходитиметься в директорії даних ноди, якою володіє користувач bitcoin.

1. Створення та налаштування bitcoin.conf

Створіть файл bitcoin.conf:


sudo -u bitcoin nano /var/lib/bitcoin/.bitcoin/bitcoin.conf

Вставте наступний вміст. Це базова конфігурація, яка забезпечить роботу ноди та RPC-інтерфейсу для локального доступу. Замініть на дуже надійний пароль.


# Основні налаштування
server=1
daemon=1
txindex=1             # Увімкнути індексацію транзакцій (корисно для ElectrumX або оглядачів)
prune=0               # Не обрізати блокчейн (для повної ноди)
maxconnections=125    # Максимальна кількість P2P-з'єднань
rpcbind=127.0.0.1     # Дозволити RPC-з'єднання лише з localhost
rpcallowip=127.0.0.1  # Дозволити RPC-з'єднання лише з localhost

# Налаштування RPC-доступу (для локального використання)
rpcuser=bitcoinuser
rpcpassword= # Згенеруйте ДУЖЕ надійний пароль
# Ви також можете використовувати rpccookiefile для автоматичної генерації пароля
# rpccookiefile=/var/lib/bitcoin/.bitcoin/.rpcauth

# Налаштування для логування
debuglogfile=/var/lib/bitcoin/.bitcoin/debug.log
logtimestamps=1

# Збільшити кількість дескрипторів файлів
# maxuploadtarget=5000 # Максимальна пропускна здатність для завантаження в MB/добу. За замовчуванням 1440.

Важливо: Ніколи не відкривайте RPC-порт (за замовчуванням 8332) для зовнішнього доступу без ретельного захисту (наприклад, через SSH-тунель або захищений зворотний проксі з TLS). У цій конфігурації RPC доступний лише з localhost.

Згенерувати надійний пароль можна, наприклад, так:


openssl rand -base64 32

Скопіюйте згенерований пароль і вставте його в bitcoin.conf.

2. Запуск Bitcoin Core

Тепер, коли конфігурація готова, запустіть сервіс Bitcoin Core:


sudo systemctl start bitcoind

3. Перевірка працездатності та синхронізації

Після запуску ноді знадобиться значний час для початкової синхронізації блокчейну (від кількох годин до кількох днів, залежно від швидкості диска та мережі). Ви можете стежити за статусом за допомогою bitcoin-cli.


# Перевірка статусу сервісу
sudo systemctl status bitcoind

# Перегляд логів сервісу
sudo journalctl -f -u bitcoind

Для взаємодії з нодою використовуйте bitcoin-cli. Вкажіть шлях до файлу конфігурації та директорії даних, щоб bitcoin-cli знав, куди звертатися:


# Отримання загальної інформації про ноду
sudo -u bitcoin /usr/local/bin/bitcoin-cli -conf=/var/lib/bitcoin/.bitcoin/bitcoin.conf -datadir=/var/lib/bitcoin/.bitcoin getinfo

# Отримання інформації про блокчейн
sudo -u bitcoin /usr/local/bin/bitcoin-cli -conf=/var/lib/bitcoin/.bitcoin/bitcoin.conf -datadir=/var/lib/bitcoin/.bitcoin getblockchaininfo

Зверніть увагу на поля blocks, headers і verificationprogress. verificationprogress зростатиме від 0 до 0.999... у міру синхронізації. Коли blocks дорівнюватиме headers, а verificationprogress буде близьким до 1, ваша нода повністю синхронізована.

Якщо ви хочете перевіряти працездатність ззовні, ви можете використовувати ping для перевірки доступності сервера та curl для перевірки, наприклад, веб-інтерфейсу, якщо ви його встановили (що не є частиною цього посібника для Bitcoin Core безпосередньо).


# Приклад перевірки доступності сервера (з вашої локальної машини)
ping your_vps_ip

4. Налаштування TLS/HTTPS (для RPC-інтерфейсів)

Bitcoin Core сам по собі не надає HTTPS для свого RPC-інтерфейсу. Якщо ви плануєте запускати сервіси, які віддалено звертатимуться до RPC (наприклад, ElectrumX, блокчейн-експлорер), і хочете захистити цей трафік, вам потрібно буде налаштувати зворотний проксі (наприклад, Nginx або Caddy) з підтримкою TLS. Однак для більшості користувачів, які звертаються до RPC лише з localhost (як налаштовано вище), це не потрібно.

Якщо вам все ж потрібен віддалений доступ до RPC, настійно рекомендується використовувати SSH-тунель. Це набагато безпечніше, ніж відкривати RPC-порт назовні через зворотний проксі без належного налаштування безпеки.

Приклад створення SSH-тунелю з вашої локальної машини:


# На вашій локальній машині
ssh -L 8332:127.0.0.1:8332 -N -p 2222 youruser@your_vps_ip

Ця команда перенаправить ваш локальний порт 8332 на порт 8332 на сервері (localhost на сервері). Після цього ви зможете звертатися до RPC-інтерфейсу ноди як до localhost:8332 з вашої локальної машини, і весь трафік буде зашифрований SSH-тунелем.

Резервне копіювання та обслуговування

Схема: Резервне копіювання та обслуговування
Схема: Резервне копіювання та обслуговування

Підтримка Bitcoin Full Node у робочому стані включає регулярне обслуговування та стратегію резервного копіювання. Основні дані, які необхідно резервувати, це файл гаманця (якщо ви його використовуєте) та конфігураційні файли. Сам блокчейн можна відновити, але це займе багато часу.

1. Що резервувати

  • wallet.dat: Якщо ви використовуєте вбудований гаманець Bitcoin Core, це найважливіший файл. Він містить ваші приватні ключі. Вкрай важливо регулярно його резервувати та зберігати у безпечному місці!
  • bitcoin.conf: Файл конфігурації ноди. Хоча його легко відтворити, наявність резервної копії спрощує відновлення.
  • peers.dat: Містить список відомих пірів, що може прискорити підключення до мережі після перезапуску, але не є критично важливим.

Важливо: Не резервуйте весь каталог даних блокчейну /var/lib/bitcoin/.bitcoin/blocks або /var/lib/bitcoin/.bitcoin/chainstate, оскільки це величезний обсяг даних, який швидко застаріває. Простіше пересинхронізувати блокчейн з нуля.

2. Простий скрипт авторезервування (для wallet.dat та конфігів)

Створимо простий скрипт для резервування wallet.dat та bitcoin.conf. Припускаємо, що ви зберігаєте wallet.dat у стандартному місці /var/lib/bitcoin/.bitcoin/wallet.dat. Якщо ви не використовуєте гаманець на ноді, пропустіть резервування wallet.dat.

Створіть директорію для резервних копій:


sudo mkdir -p /var/backups/bitcoin
sudo chown youruser:youruser /var/backups/bitcoin

Створіть скрипт backup_bitcoin_node.sh:


nano ~/backup_bitcoin_node.sh

Вставте наступний вміст:


#!/bin/bash

# Путь к директории данных Bitcoin Core
BITCOIN_DATADIR="/var/lib/bitcoin/.bitcoin"
# Путь к директории для бэкапов
BACKUP_DIR="/var/backups/bitcoin"
# Имя файла бэкапа
TIMESTAMP=$(date +%Y%m%d%H%M%S)
BACKUP_FILE="${BACKUP_DIR}/bitcoin_config_wallet_${TIMESTAMP}.tar.gz"

echo "Починаємо резервне копіювання Bitcoin Core..."

# Зупинка bitcoind перед резервним копіюванням wallet.dat для забезпечення цілісності
# Якщо ви не використовуєте вбудований гаманець, цей крок можна пропустити
sudo systemctl stop bitcoind

# Архівування wallet.dat та bitcoin.conf
sudo tar -czvf "${BACKUP_FILE}" -C "${BITCOIN_DATADIR}" wallet.dat bitcoin.conf

# Запуск bitcoind
sudo systemctl start bitcoind

# Видалення старих резервних копій (наприклад, старших за 7 днів)
find "${BACKUP_DIR}" -name "bitcoin_config_wallet_*.tar.gz" -mtime +7 -delete

echo "Резервне копіювання завершено: ${BACKUP_FILE}"

Зробіть скрипт виконуваним:


chmod +x ~/backup_bitcoin_node.sh

3. Планування резервного копіювання за допомогою Cron

Додайте скрипт до Cron для автоматичного виконання. Наприклад, щодня о 3:00 ночі.


crontab -e

Додайте наступний рядок у кінець файлу:


0 3 * * * /home/youruser/backup_bitcoin_node.sh >> /var/log/bitcoin_backup.log 2>&1

Збережіть та вийдіть. Тепер резервне копіювання буде виконуватися автоматично.

4. Куди зберігати резервні копії

Зберігати резервні копії на тому ж сервері, що й оригінальні дані, небезпечно. У разі відмови диска або компрометації сервера, ви втратите і дані, і резервні копії. Рекомендується:

  • Зовнішнє S3-сумісне об'єктне сховище: Надійно та відносно недорого. Використовуйте інструменти на кшталт rclone для автоматичної синхронізації.
  • Окремий VPS або домашній сервер: Можна використовувати rsync або scp для передачі резервних копій на інший сервер.
  • Зашифроване хмарне сховище: Використовуйте сервіси на кшталт Mega, Proton Drive з локальним шифруванням.

Приклад відправки резервних копій на S3 за допомогою rclone:

Встановіть rclone та налаштуйте його для вашого S3-провайдера. Потім у скрипт резервного копіювання додайте рядок для копіювання:


# Після рядка "echo "Резервне копіювання завершено: ${BACKUP_FILE}""
rclone copy "${BACKUP_FILE}" "s3_remote_name:bucket_name/backups/"

5. Оновлення: rolling vs maintenance window

Оновлення операційної системи:

Для Ubuntu рекомендується налаштувати автоматичні оновлення безпеки (unattended-upgrades). Це дозволить вашій системі отримувати критичні патчі без вашого втручання, що підвищує безпеку.


# Відкрийте файл конфігурації unattended-upgrades
sudo nano /etc/apt/apt.conf.d/50unattended-upgrades

Переконайтеся, що рядки для автоматичних оновлень розкоментовані та налаштовані: Unattended-Upgrade::AllowedOrigins { "${distro_id}:${distro_codename}"; "${distro_id}:${distro_codename}-security"; // "${distro_id}:${distro_codename}-updates"; // "${distro_id}:${distro_codename}-proposed"; // "${distro_id}:${distro_codename}-backports"; };

Увімкніть автоматичне перезавантаження, якщо потрібно:


Unattended-Upgrade::AutomaticReboot "true";
Unattended-Upgrade::AutomaticRebootInterval "7"; # Перезавантаження раз на 7 днів, якщо потрібно

Збережіть та закрийте. Потім увімкніть автооновлення:


sudo dpkg-reconfigure -plow unattended-upgrades

Оновлення Bitcoin Core:

Оновлення Bitcoin Core краще виконувати вручну або з напівавтоматичним контролем. Повністю автоматичні оновлення можуть призвести до непередбачуваних проблем або несумісності. Рекомендується:

  1. Моніторинг анонсів: Підпишіться на розсилки або стежте за офіційними каналами Bitcoin Core для анонсів нових версій.
  2. Maintenance window: Плануйте час для оновлення. Зазвичай це включає зупинку сервісу, завантаження та верифікацію нових бінарних файлів, заміну старих та запуск сервісу.
  3. Тестування: Для критично важливих нод рекомендується спочатку оновити та протестувати нову версію на тестовій ноді.

Процес оновлення Bitcoin Core (приклад):


# 1. Зупинити сервіс Bitcoin Core
sudo systemctl stop bitcoind

# 2. Завантажити та верифікувати нові бінарні файли (як у розділі "Встановлення ПЗ")
#    Наприклад, для версії 27.0:
cd /tmp
wget https://bitcoincore.org/bin/bitcoin-core-27.0/bitcoin-27.0-x86_64-linux-gnu.tar.gz
# ... верифікація ...
tar -xzvf bitcoin-27.0-x86_64-linux-gnu.tar.gz

# 3. Замінити старі бінарні файли
sudo rm /usr/local/bin/bitcoind /usr/local/bin/bitcoin-cli /usr/local/bin/bitcoin-tx /usr/local/bin/bitcoin-util /usr/local/bin/test_bitcoin
sudo install -m 0755 -o root -g root -t /usr/local/bin bitcoin-27.0/bin/*

# 4. Видалити тимчасові файли
rm -rf bitcoin-27.0 bitcoin-27.0-x86_64-linux-gnu.tar.gz SHA256SUMS SHA256SUMS.asc

# 5. Запустити сервіс Bitcoin Core
sudo systemctl start bitcoind

# 6. Перевірити статус
sudo systemctl status bitcoind
sudo -u bitcoin /usr/local/bin/bitcoin-cli -conf=/var/lib/bitcoin/.bitcoin/bitcoin.conf -datadir=/var/lib/bitcoin/.bitcoin getinfo

Вирішення проблем + FAQ

Що робити, якщо нода не запускається?

Перш за все, перевірте логи сервісу Bitcoin Core. Використовуйте команду sudo journalctl -f -u bitcoind, щоб побачити останні повідомлення. Часті причини: некоректний bitcoin.conf (помилки в синтаксисі, невірні шляхи), проблеми з правами доступу до директорії даних /var/lib/bitcoin/.bitcoin, або нестача вільного місця на диску. Переконайтеся, що користувач bitcoin є власником усіх файлів у /var/lib/bitcoin.

Нода дуже довго синхронізується, це нормально?

Так, початкова синхронізація Bitcoin Full Node займає багато часу. Це може бути від 12-24 годин до кількох днів, залежно від швидкості вашого диска (SSD обов'язковий), пропускної здатності мережі та загального завантаження сервера. Перевіряйте прогрес за допомогою sudo -u bitcoin bitcoin-cli getblockchaininfo та стежте за verificationprogress. Якщо прогрес зовсім не рухається, перевірте мережеве з'єднання та переконайтеся, що порт 8333 відкрито у файрволі.

Який VPS-конфіг мінімально підійде для Bitcoin Full Node у 2026 році?

Мінімально, для стабільної роботи Bitcoin Full Node до 2026 року знадобиться VPS з 2 ядрами CPU, 4 ГБ RAM та 2 ТБ NVMe SSD. Дисковий простір є найбільш критичним ресурсом через постійне зростання блокчейну. Мережа повинна бути не менше 100 Мбіт/с з необмеженим трафіком або дуже великим лімітом.

Що вибрати — VPS чи dedicated для цього завдання?

Для запуску однієї Bitcoin Full Node, особливо для особистих потреб або невеликої команди, VPS з рекомендованими характеристиками (4 ядра CPU, 8 ГБ RAM, 2 ТБ NVMe SSD) буде більш ніж достатнім та економічно вигідним. Dedicated сервер виправданий, якщо ви плануєте запускати кілька нод, надавати публічні сервіси, що вимагають високої продуктивності введення/виведення, або обробляти дуже великий обсяг запитів до вашої ноди.

Як перевірити, що моя нода дійсно бере участь у мережі?

Використовуйте команду sudo -u bitcoin bitcoin-cli getconnectioncount, щоб побачити кількість активних з'єднань з іншими нодами. Значення повинно бути значно більше нуля (зазвичай 8-125). Також sudo -u bitcoin bitcoin-cli getpeerinfo покаже детальну інформацію про підключені піри, їхні IP-адреси та версії протоколу.

Що робити, якщо закінчилося місце на диску?

Якщо місце на диску закінчується, нода перестане синхронізуватися і може завершити роботу. Вам необхідно або збільшити обсяг диска на VPS (якщо це можливо у вашого провайдера), або перенести ноду на новий VPS з більшим диском. У крайньому випадку, можна спробувати запустити ноду в режимі "pruning" (обрізання блокчейну), але це знизить її функціональність як Full Node, оскільки вона не буде зберігати весь блокчейн.

Чи можна запускати інші сервіси на тому ж VPS, що й Bitcoin Node?

Так, можна, але з обережністю. Якщо у вас достатньо ресурсів (CPU, RAM, особливо I/O диска), ви можете запускати інші легкі сервіси. Однак уникайте ресурсоємних програм, які можуть конкурувати з Bitcoin Core за дискові операції або мережеву пропускну здатність, особливо під час початкової синхронізації або активного використання. Завжди стежте за використанням ресурсів за допомогою htop або grafana/prometheus.

Висновки та наступні кроки

Схема: Висновки та наступні кроки
Схема: Висновки та наступні кроки

Вітаємо! Ви успішно встановили та налаштували Bitcoin Full Node на вашому VPS, забезпечивши її базову безпеку та підготувавши до автоматичного обслуговування. Тепер ваша нода активно бере участь у підтримці децентралізації та безпеки мережі Bitcoin, надаючи вам незалежне та перевірене джерело даних блокчейну.

Наступні кроки для розвитку вашої інфраструктури:

  1. Моніторинг ресурсів: Налаштуйте систему моніторингу (наприклад, Prometheus + Grafana) для відстеження завантаження CPU, RAM, диска та мережі. Це допоможе виявити потенційні проблеми до їх виникнення та зрозуміти, коли знадобиться масштабування.
  2. Lightning Network Node: Розгляньте можливість встановлення ноди Lightning Network (LND або Core Lightning) на тому ж або окремому VPS. Це дозволить вам брати участь у мережі мікроплатежів Bitcoin, відкривати канали та маршрутизувати транзакції.
  3. ElectrumX Server: Якщо ви плануєте використовувати легкі гаманці (наприклад, Electrum, Sparrow) для себе або для своєї команди, встановлення власного сервера ElectrumX забезпечить максимальну приватність та швидкість, оскільки він використовуватиме вашу власну ноду.

Поділитися цим записом:

встановлення та налаштування Bitcoin full node на VPS: безпека та автоматичні оновлення
support_agent
Valebyte Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.