Запуск собственной ноды Bitcoin означает, что вы сами проверяете блокчейн, а не доверяете чужому серверу. VPS — хорошее место для неё: он всегда в сети и имеет быстрое соединение. Главное требование — дисковое пространство.
Что вам понадобится
- Диск. Полная нода хранит весь блокчейн, а это заметно больше 600 ГБ, и размер продолжает расти. Прежде чем выбирать тариф, уточните текущий размер. Обрезанная (pruned) нода хранит только недавние блоки и может работать на гораздо меньшем диске.
- ОЗУ. 4 ГБ достаточно для ноды, которая только проверяет блоки. 8 ГБ и больше ускоряют первую синхронизацию.
- CPU. Первая синхронизация сильно нагружает процессор. Два ядра и больше помогут.
- Трафик. Полная нода отправляет и загружает сотни ГБ в месяц. Выбирайте тариф с большим лимитом. Наши более крупные тарифы VPS включают безлимитный трафик на порту 1 или 2 Гбит/с.
Шаг 1: подготовьте сервер
Начните со свежего VPS на Ubuntu или Debian и выполните шаги из статьи как защитить новый VPS. Создайте обычного пользователя для Bitcoin и не запускайте ноду от root.
Шаг 2: скачайте Bitcoin Core
Скачайте официальный релиз с bitcoincore.org и всегда проверяйте подпись и контрольную сумму перед запуском. Как это сделать, описано на странице релиза.
cd /tmp
wget https://bitcoincore.org/bin/bitcoin-core-VERSION/bitcoin-VERSION-x86_64-linux-gnu.tar.gz
tar xzf bitcoin-VERSION-x86_64-linux-gnu.tar.gz
sudo install -m 0755 bitcoin-VERSION/bin/* /usr/local/bin/
Замените VERSION на версию релиза, которую вы проверили.
Шаг 3: настройка
Создайте файл ~/.bitcoin/bitcoin.conf:
server=1
daemon=1
txindex=0
# For a smaller disk, prune to about 20 GB (value in MB):
# prune=20000
dbcache=2048
Используйте prune только если вам не нужна вся история. Обрезанная нода по-прежнему полностью проверяет новые блоки.
Шаг 4: запуск в виде службы
Создайте unit-файл systemd, чтобы нода запускалась при загрузке и перезапускалась после сбоя, затем выполните sudo systemctl enable --now bitcoind. Следите за ходом синхронизации командой bitcoin-cli getblockchaininfo. Первая синхронизация занимает от нескольких часов до нескольких дней в зависимости от вашего оборудования.
Файрвол
Чтобы помогать сети, разрешите входящие подключения на порт 8333. Если вам нужна только приватная нода для собственного кошелька, можно оставить его закрытым и использовать только исходящие соединения. Никогда не открывайте порт RPC (8332) в интернет.
Частые вопросы
Сколько места на диске нужно узлу Bitcoin?
Полному узлу нужно примерно 700 ГБ или больше, и эта цифра растёт. Урезанный (pruned) узел может работать примерно на 20–50 ГБ, но не может отдавать старые блоки другим.
Можно ли запустить узел Bitcoin на VPS?
Да, если у тарифа достаточно диска, RAM и безлимитный или большой трафик. Первоначальная синхронизация может занять от нескольких часов до нескольких дней.
Является ли pruned-узел настоящим узлом?
Да. Он проверяет каждый блок и каждую транзакцию, а затем удаляет старые данные блоков, чтобы сэкономить место на диске.