Запуск ноды на Linux
Обычная нода Parano1d проверяет полные блоки, поддерживает Live State, ретранслирует транзакции и обслуживает синхронизацию. Она не майнит.
Это руководство устанавливает официальный релиз Core как системную службу на 64-битном сервере Linux с systemd.
Требования
Штатная реализация системы доказательств требует:
- x86-64 с SSE4.1 и PCLMULQDQ; либо
- ARM64 с NEON и PMULL.
AVX2, VPCLMULQDQ и AVX-512 выбираются автоматически. Скалярная эталонная реализация в штатной ноде не используется.
P2P-соединения принимаются на TCP 9400. JSON-RPC должен оставаться на
127.0.0.1:9401.
Основной изменяемый объём хранилища определяется размером Live State. Компактные заголовки по 212 байт хранятся постоянно, а полные тела блоков — только для последних 18 блоков.
До заказа виртуальной машины и выбора лимитов прочитайте Оборудование и ресурсы.
Установка релиза Core
Скачайте архив нужной архитектуры и SHA256SUMS со
страницы релизов. Проверьте
архив до распаковки, заменив VERSION номером версии:
grep ' parano1d-core-vVERSION-linux-x86_64.tar.gz$' SHA256SUMS \
| sha256sum --check
Команда должна вывести OK. Для ARM64 замените linux-x86_64 на
linux-aarch64.
Распакуйте архив и проверьте оборудование:
tar -xzf parano1d-core-vVERSION-linux-x86_64.tar.gz
./parano1d --check-hardware
На поддерживаемой машине отчёт заканчивается:
NODE READY
Установите ноду и CLI:
sudo install -m 0755 parano1d parano1d-cli /usr/local/bin/
Системный пользователь
Храните данные ноды отдельно от интерактивных пользователей:
sudo useradd --system --home-dir /var/lib/parano1d \
--create-home --shell /usr/sbin/nologin parano1d
sudo install -d -o parano1d -g parano1d -m 0700 /var/lib/parano1d
sudo install -d -o root -g parano1d -m 0750 /etc/parano1d
Создайте /etc/parano1d/parano1d.toml:
[network]
listen = "0.0.0.0:9400"
seeds = []
[storage]
backend = "mdbx"
path = "/var/lib/parano1d"
[rpc]
listen = "127.0.0.1:9401"
[mining]
enabled = false
miner_address = ""
Защитите конфигурацию:
sudo chown root:parano1d /etc/parano1d/parano1d.toml
sudo chmod 0640 /etc/parano1d/parano1d.toml
Указывать сид вручную не нужно. Релизный бинарник находит публичную сеть через встроенные DNS-сиды и запоминает успешные исходящие пиры.
Запуск под systemd
Создайте /etc/systemd/system/parano1d.service:
[Unit]
Description=Parano1d node
Wants=network-online.target
After=network-online.target
[Service]
Type=simple
User=parano1d
Group=parano1d
ExecStart=/usr/local/bin/parano1d --config /etc/parano1d/parano1d.toml
Restart=on-failure
RestartSec=5
KillSignal=SIGINT
TimeoutStopSec=45
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
KillSignal=SIGINT оставляет ноде время корректно закрыть сетевые службы и
сбросить MDBX.
Загрузите файл службы и запустите ноду:
sudo systemctl daemon-reload
sudo systemctl enable --now parano1d
sudo systemctl status parano1d
Следите за запуском и синхронизацией:
sudo journalctl -u parano1d -f
Проверка ноды
По умолчанию CLI подключается к локальному RPC:
parano1d-cli status
parano1d-cli peers
parano1d-cli state
status должен показывать актуальную высоту, число в peers должно стать
ненулевым, а state сообщает аутентифицированные размеры Live State.
Сетевой доступ
Разрешите входящий TCP 9400 в межсетевых экранах сервера и провайдера. За
NAT перенаправьте TCP 9400 на ноду. Синхронизация работает и при наличии только
исходящих соединений, но входящие пиры делают ноду полезной для сети.
Не публикуйте TCP 9401. Для удалённого администрирования используйте
SSH-туннель или другой аутентифицированный приватный транспорт.
Остановка и обновление
Перед заменой бинарников или копированием данных остановите службу:
sudo systemctl stop parano1d
Установите проверенные новые бинарники и запустите:
sudo install -m 0755 parano1d parano1d-cli /usr/local/bin/
sudo systemctl start parano1d
parano1d-cli status
При обычном обновлении не удаляйте /var/lib/parano1d. Если кошелёк ноды
получает средства, отдельно сохраните /var/lib/parano1d/wallet.key и
защищайте его как приватный секрет.