Майнингdocs/operate/external-miner.md

Внешний майнер

Внешний майнинг отделяет поиск nonce для PoW от ноды. Мемпул, выбор транзакций, переход State, доказательство HistoryStep, шаблон и ретрансляция блока по-прежнему принадлежат ноде.

Внешний вычислитель не получает ни тело блока, ни свидетель, необходимый для построения доказательства.

Локальный вычислитель

Запустите ноду в режиме внешнего майнера с токеном доступа:

sh
parano1d --mode extminer --mining-key 'LONG-RANDOM-TOKEN'

В другом терминале:

sh
parano1d-miner \
  --rpc http://127.0.0.1:9401 \
  --key 'LONG-RANDOM-TOKEN'

Если нода запущена с --mining-key, токен обязателен даже при обращении через локальный интерфейс.

При необходимости ограничьте число потоков:

sh
parano1d-miner --key 'LONG-RANDOM-TOKEN' --threads 8

Удалённый вычислитель

Не передавайте незашифрованный токен доступа и не открывайте общий RPC напрямую в интернет.

Разместите вычислитель и ноду в аутентифицированной приватной сети либо используйте TLS-терминацию и ограничивайте доступ на обратном прокси. Открывайте RPC только после настройки защищённого транспорта:

sh
parano1d \
  --mode extminer \
  --rpc-listen 0.0.0.0:9401 \
  --mining-key 'LONG-RANDOM-TOKEN'

Межсетевой экран должен пропускать порт только от нужных вычислителей или прокси.

Выплата

По умолчанию шаблоны используют адрес выплаты, настроенный на ноде. Для соло-майнинга это самый безопасный режим.

Чтобы разрешить вычислителю запрашивать собственную выплату, оператор должен явно включить эту возможность:

sh
parano1d \
  --mode extminer \
  --mining-key 'LONG-RANDOM-TOKEN' \
  --allow-custom-coinbase

Тогда вычислитель может передать:

sh
parano1d-miner \
  --key 'LONG-RANDOM-TOKEN' \
  --coinbase o1...

Пользовательский адрес меняет только выплату, зафиксированную до построения доказательства. Сам доказанный шаблон вычислитель изменить не может.

Жизненный цикл шаблона

getBlockTemplate возвращает непрозрачный одноразовый ID, 16-полевое расписание PoW, индекс nonce и целевое значение. Вычислитель перебирает случайные независимые диапазоны nonce и вызывает submitBlock ровно с 16 байтами nonce в порядке от младшего байта к старшему (little-endian).

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

Диагностика

Выполните:

sh
parano1d-miner --check-hardware

Если запросы не проходят:

  • 401 Unauthorized означает отсутствие или несовпадение токена;
  • ошибка пользовательского адреса выплаты означает, что нода не разрешила этот адрес;
  • постоянное устаревание шаблонов обычно связано с новыми вершинами либо слишком долгим построением доказательства;
  • отсутствие шаблона означает, что нода не синхронизирована, не имеет кворума пиров или запущена не в режиме extminer.
Техническая документация ParanO(1)dПоведение консенсуса определяется исходным кодом.