Практика › Своя нода

Своя нода

Зачем запускать monerod, какое нужно железо и как его настроить

Коротко

Своя нода — это monerod, который скачивает и сам проверяет весь блокчейн. Кошелёк, подключённый к своей ноде, никому не раскрывает IP и не доверяет чужим данным. Нужно: 64-битный 2–4-ядерный CPU, 4–8 ГБ RAM, SSD на ~100 ГБ (pruned) или ~250 ГБ (полная, данные на январь 2026, растёт), стабильный интернет.

Зачем

  • Приватность: удалённая нода видит ваш IP и время отправки транзакций. Своя — нет.
  • Доверие: вы сами проверяете все правила — эмиссию, подписи, доказательства. Никто не подсунет вам фальшивую историю.
  • Помощь сети: публичная нода раздаёт блоки другим и может обслуживать кошельки (restricted RPC).
  • Майнинг через P2Pool требует своей ноды.

Требования к железу

Минимум (pruned)Комфортно (полная)
CPU64-бит, 2 ядра (подойдёт Raspberry Pi 4/5)4+ ядер x86-64 — быстрее первичная синхронизация
RAM4 ГБ8 ГБ+
ДискSSD ~100 ГБ + запасSSD/NVMe ~250 ГБ + запас на рост
Сетьбезлимит; первичная загрузка ≈ размер базыоткрытый порт 18080 для входящих
Первая синхронизацияот суток до нескольких днейчасы–сутки на хорошем NVMe
HDD — плохая идея

База LMDB делает огромное число случайных чтений. На механическом диске синхронизация может растянуться на недели. Если только HDD — используйте pruned-режим и запаситесь терпением.

Полная или pruned

Pruned (обрезанная) нода хранит всё, что нужно для проверки новых блоков, но выбрасывает 7/8 «prunable»-данных старых транзакций (подписи и доказательства — см. устройство транзакции). Она полностью проверяет цепочку при синхронизации и полностью пригодна для своего кошелька. Экономия — около двух третей места. Разница лишь в том, что pruned-нода не может раздать другим полную историю.

Быстрый старт

  1. Скачайте CLI-архив с getmonero.org/downloads и проверьте хеш (hashes.txt, подписанный binaryFate).
  2. Запустите:
./monerod --prune-blockchain --enable-dns-blocklist

Данные лягут в ~/.bitmonero (Linux/macOS) или C:\ProgramData\bitmonero (Windows). Прогресс видно в логе; в интерактивной консоли работают команды status, sync_info, print_height, exit.

Кошелёк подключается к 127.0.0.1:18081 — в Feather/GUI это настройка «Node».

Конфигурационный файл

Вместо длинной командной строки удобно использовать ~/.bitmonero/bitmonero.conf:

# данные и обрезка
data-dir=/var/lib/monero
prune-blockchain=1
db-sync-mode=safe

# P2P
p2p-bind-ip=0.0.0.0
p2p-bind-port=18080
out-peers=32
in-peers=64
enable-dns-blocklist=1
no-igd=1

# RPC только для себя (полный доступ)
rpc-bind-ip=127.0.0.1
rpc-bind-port=18081

# публичный ограниченный RPC для чужих кошельков (необязательно)
rpc-restricted-bind-ip=0.0.0.0
rpc-restricted-bind-port=18089
public-node=1
confirm-external-bind=1

# ZMQ для P2Pool (необязательно)
zmq-pub=tcp://127.0.0.1:18083

# отправлять свои транзакции через Tor (нужен запущенный tor)
# tx-proxy=tor,127.0.0.1:9050,16

Порты

ПортНазначениеОткрывать наружу?
18080P2P между нодамиДа, если хотите помогать сети (входящие соединения)
18081Полный RPC (управление нодой)Нет, только localhost
18089Ограниченный RPC (соглашение) для кошельковПо желанию — для публичной ноды
18082 / 18083ZMQ RPC / ZMQ pub (P2Pool)Нет

Запуск как сервис (Linux, systemd)

[Unit]
Description=Monero daemon
After=network-online.target

[Service]
User=monero
ExecStart=/opt/monero/monerod --config-file /etc/monero/bitmonero.conf --non-interactive
Restart=on-failure
RestartSec=30

[Install]
WantedBy=multi-user.target

Сохраните как /etc/systemd/system/monerod.service, затем systemctl enable --now monerod. Состояние: /opt/monero/monerod status (команда сама подключится к RPC).

Через Tor: скрытый сервис

Можно сделать ноду доступной как .onion — для своих кошельков в дороге, не открывая порты в интернет. В torrc добавьте скрытый сервис на порт 18089, а в конфиг monerod — anonymous-inbound=ваш.onion:18083,127.0.0.1:18083,24 для P2P через Tor. Подробная инструкция — в файле ANONYMITY_NETWORKS.md из архива Monero.

Обслуживание

  • Обновляйте перед каждым хардфорком (особенно перед FCMP++) — иначе нода останется на старой цепочке.
  • Обрезать уже синхронизированную полную базу можно утилитой monero-blockchain-prune (см. бинарники).
  • Следите за местом на диске: при заполнении LMDB нода остановится.