Эксплуатацияdocs/operate/hardware.md

Оборудование и ресурсы

В Parano1d возраст цепи не превращается в постоянное требование по воспроизведению истории. Тем не менее ноде нужны CPU для проверки доказательств, память для ограниченной сетевой работы и диск для Live State. Проверяйте именно машину, видимую процессу: модель физического CPU у провайдера ещё не гарантирует, что виртуальная система получит нужные инструкции.

Минимальный набор инструкций

Рабочий бинарник поддерживает две архитектуры:

Архитектура Обязательные инструкции
x86-64 SSE4.1 и PCLMULQDQ
ARM64 NEON и PMULL

Скалярная реализация служит тестовым эталоном; штатная нода не использует её как резервный вариант. На неподдерживаемой машине процесс завершится до открытия кошелька или базы цепи.

Запустите предварительную проверку на целевой машине:

sh
parano1d --check-hardware
parano1d-miner --check-hardware

Успешный отчёт ноды заканчивается строкой:

text
NODE READY

В отчёте также указана выбранная при запуске реализация. На x86-64 автоматически выбирается лучший из доступных путей: PCLMULQDQ, AVX2 с VPCLMULQDQ или AVX-512. На ARM64 рабочий путь использует NEON с PMULL.

Виртуальные машины

Некоторые гипервизоры скрывают PCLMULQDQ или показывают устаревший универсальный CPU, даже если физический сервер новее. До оплаты виртуального сервера:

  1. убедитесь, что гостевая система 64-битная;
  2. по возможности включите прямую передачу возможностей процессора (host passthrough) или выберите современный профиль виртуального CPU;
  3. загрузите именно выбранный тариф и выполните --check-hardware;
  4. откажитесь от него, если процесс выводит CPU UNSUPPORTED.

На Linux x86-64 видимые гостевой системе флаги можно проверить так:

sh
grep -m1 '^flags' /proc/cpuinfo \
  | tr ' ' '\n' \
  | grep -E '^(sse4_1|pclmulqdq|avx2|vpclmulqdq|avx512)'

Окончательной остаётся предварительная проверка штатного бинарного файла: она проверяет тот же вычислительный путь, которым воспользуется нода.

Практические начальные конфигурации

Это рекомендации для эксплуатации, а не минимумы консенсуса:

Роль CPU Память Хранилище
Кошелёк или обычная нода От 2 современных vCPU 4 GiB SSD, вначале 20 GiB свободного места
Публичный сид/полная нода От 4 современных vCPU 8 GiB SSD или NVMe с контролем запаса
Майнер B64 От 12 современных логических CPU От 8 GiB SSD или NVMe
Майнер B255 Тестировать конкретную машину От 16 GiB Предпочтительно NVMe

Поколение CPU, частота, пропускная способность памяти и выбранная реализация умножения без переноса важнее маркетингового числа vCPU. Производительность майнинга измеряйте на конечной машине. Эталонное измерение для запуска: подготовка B64 в режиме насыщенной нагрузки занимает 14,387 секунды на p95 при 12 потоках Intel Core i7-1365U. Полные таблицы и границы измерения находятся в разделе Измерения производительности.

Обычная нода не строит доказательства блоков непрерывно, но проверяет авторизации кошельков и входящие терминальные доказательства HistoryStep. Избегайте сильно перепроданных виртуальных машин, где доступный CPU под нагрузкой меняется на порядок.

Использование памяти

Основные недоверенные пулы ограничены:

  • до 1 024 транзакций в мемпуле и 384 МиБ сериализованных логических транзакций;
  • до 128 МиБ сохранённых пакетов блоков без известного родителя;
  • за раз декодируется один аутентифицированный сегмент снимка, максимум 8 MiB;
  • полезная нагрузка снимков обрабатывается последовательно;
  • окна недавних полных блоков и данных отката имеют фиксированный размер.

Это пределы отдельных частей протокольного процесса, а не обещание, что общий RSS равен их сумме. Память также расходуют матрицы доказательств, рабочие области доказывающей стороны, страницы базы, сеть и операционная система. Оставляйте запас и не устанавливайте лимит службы равным RSS в простое.

Встроенный майнинг использует единый бюджет потоков для построения доказательства и поиска nonce. Значение --cpu-threads должно соответствовать логическим CPU, реально выделенным службе, а не объявленному числу процессоров физического хоста.

Использование диска

Честной фиксированной цифры на весь срок жизни ноды не существует. Постоянное хранилище содержит:

  • компактные заголовки за всю цепь;
  • Live State и индекс владельцев;
  • последние 18 полных блоков;
  • данные отката State за 36 блоков;
  • идентификатор и хранилище пиров;
  • кеш доказательств и временные данные подготавливаемых снимков;
  • ключи, метаданные и чеки кошелька, если он используется.

Исторические тела транзакций не накапливаются бесконечно. Текущие активные UTXO накапливаются: объём диска зависит от заполнения State и распределения занятых сегментов. MDBX по необходимости растёт шагами по 64 MiB.

Контролируйте реальный путь:

sh
du -sh ~/.parano1d/data
parano1d-cli state

Для синхронизации по снимку требуется временное место под полную копию State до её атомарной установки. Оставляйте место для установленного State, ещё одной подготовленной копии и обычного роста базы.

Сеть

Разрешите постоянные исходящие TCP-соединения, а на публичной ноде — входящий TCP 9400. Разумная отправная точка — безлимитный канал 100 Мбит/с. Стабильность и отсутствие жёстких лимитов соединений или трафика важнее задержки.

RPC на TCP 9401 — административный интерфейс. Оставляйте его на локальном интерфейсе, если доступ не защищён приватным или аутентифицированным транспортом.

Контроль ресурсов

Пересматривайте ресурсы при заметном изменении размера Live State или трафика:

sh
parano1d-cli status
parano1d-cli state
parano1d-cli peers
du -sh ~/.parano1d/data

Настройте предупреждения о нехватке диска, постоянной потере пиров, продолжительном отставании и перезапусках службы. Развёртывание описано в руководстве по запуску ноды на Linux, планирование CPU майнера — в разделе встроенного майнинга.

Техническая документация ParanO(1)dПоведение консенсуса определяется исходным кодом.