Основные функции
Создано для профессионального майнинга — безопасно, масштабируемо, без простоев
Полностью зашифрованный туннель
Проблема
Stratum-трафик от майнеров к пулу передаётся в открытом виде и легко блокируется провайдерами. Существуют реальные угрозы перехвата и угона хешрейта.
Решение
HashRelay вставляет слой шифрования между майнерами и пулами. Клиент инкапсулирует Stratum-трафик в туннель TLS 1.3 или QUIC перед отправкой на сервер-ретранслятор.
Технические детали
- 1TLS 1.3 с сертификатом (рекомендуется для продакшена)
- 2TCP + AES-256-GCM для сред без сертификата
- 3TCP + ChaCha20-Poly1305 для устройств без аппаратного AES
- 4QUIC для трансграничных/слабых сетей (минимальная задержка)
Параллельная переадресация в несколько пулов
Проблема
Традиционные фермы, добывающие несколько монет, вынуждены поддерживать отдельные прокси — сложное управление, хаотичные порты.
Решение
Статические маппинги портов позволяют одному экземпляру HashRelay одновременно переадресовывать несколько монет в разные пулы без изменений на майнерах.
Привязки портов
+ Создать| Порт | Пул | Протокол | Агр. | Статус |
|---|---|---|---|---|
| 3333 | F2Pool · BTC | TCP+TLS | Вкл | Активно |
| 3334 | AntPool · BTC | QUIC | Вкл | Активно |
| 4444 | Poolin · LTC | TCP+TLS | Выкл | Активно |
| 5555 | Luxor · KAS | QUIC | Вкл | Активно |
| 6666 | Foundry · BCH | TCP+TLS | Выкл | Пауза |
Технические детали
- 1Протокол-независимая прозрачная переадресация для любых Stratum-монет
- 2Каждый маппинг настраивается независимо с адресом пула и агрегацией
- 3Изменения конфигурации отправляются клиентам в реальном времени
- 4Stratum-парсинг можно включать/отключать для каждого пула
Агрегация запросов
Проблема
На крупных фермах тысячи майнеров открывают отдельные туннельные соединения, создавая огромную нагрузку и риск блокировки пулом.
Решение
Встроенный движок агрегации разбирает Stratum на стороне клиента и объединяет тысячи запросов майнеров в немного восходящих соединений.
Привязки портов
+ Создать| Порт | Пул | Протокол | Агр. | Статус |
|---|---|---|---|---|
| 3333 | F2Pool · BTC | TCP+TLS | Вкл | Активно |
| 3334 | AntPool · BTC | QUIC | Вкл | Активно |
| 4444 | Poolin · LTC | TCP+TLS | Выкл | Активно |
| 5555 | Luxor · KAS | QUIC | Вкл | Активно |
| 6666 | Foundry · BCH | TCP+TLS | Выкл | Пауза |
Технические детали
- 1Поддержка Stratum V1, V1-Ethash и Stratum V2
- 2miners_per_conn управляет соотношением; по умолчанию 500 майнеров/соединение
- 3Разбиение пространства extranonce2 обеспечивает уникальность поиска
- 4Переотображение JSON-RPC ID предотвращает коллизии
Единая панель и оповещения
Проблема
Приходится прыгать между Bitmain, MicroBT, Canaan и прочими — картина разрозненная, реакция медленная. Майнер офлайн часами незаметен, reject rate смотрите вручную на сайте пула.
Решение
HashRelay собирает хешрейт, аптайм, reject rate и состояние железа на одной панели. Зеркальный разбор Stratum асинхронно — без влияния на задержку ретрансляции. Пороги → Email, Telegram, Webhook мгновенно.
История и статистика
Технические детали
- 1Вся ферма на одном экране — без зоопарка приложений
- 2Офлайн майнера: реакция за секунды
- 3Высокий reject: алерт при ≥30% (мин. 10 шар)
- 4Падение хешрейта: скользящее окно, push в несколько каналов
Горячая отправка конфигурации
Проблема
Традиционные прокси требуют перезапуска при каждом изменении конфигурации пула — кратковременное отключение майнеров.
Решение
Администратор меняет маппинги через дашборд или API; сервер фиксирует изменение в транзакции БД и немедленно отправляет нужным клиентам через постоянное соединение.
Привязки портов
+ Создать| Порт | Пул | Протокол | Агр. | Статус |
|---|---|---|---|---|
| 3333 | F2Pool · BTC | TCP+TLS | Вкл | Активно |
| 3334 | AntPool · BTC | QUIC | Вкл | Активно |
| 4444 | Poolin · LTC | TCP+TLS | Выкл | Активно |
| 5555 | Luxor · KAS | QUIC | Вкл | Активно |
| 6666 | Foundry · BCH | TCP+TLS | Выкл | Пауза |
Технические детали
- 1Типы событий: CREATED, UPDATED, ENABLED, DISABLED, DELETED
- 2Клиент горячо обновляет локальные слушатели без перезапуска
- 3Атомарное исполнение БД + отправки гарантирует согласованность
- 4Изменения вступают в силу менее чем за секунду
Двойной протокол TCP + QUIC
Проблема
Высокие потери пакетов на трансграничных каналах обрушивают пропускную способность TCP. Некоторые сети блокируют UDP, делая QUIC недоступным.
Решение
HashRelay одновременно слушает TCP и QUIC. Выберите протокол в файле конфигурации в зависимости от условий сети. Оба готовы для продакшена.
Технические детали
- 1QUIC: лучший выбор для трансграничных/слабых сетей
- 2TCP + сертификат TLS: максимальная совместимость для стабильных ЦОД
- 3TCP + ChaCha20: внутренние сети без сертификата и слабый CPU
- 4Оба протокола активны одновременно; клиент выбирает при развёртывании
Умное автоматическое переподключение
Проблема
Сетевые флуктуации разрывают соединения и вынуждают майнеры останавливаться — потеря дохода от хешрейта.
Решение
Клиент имеет встроенное неограниченное переподключение с интервалом по умолчанию 5 секунд. Локальный Stratum-слушатель остаётся активным во время переподключения.
Технические детали
- 1Пульс: интервалы Ping/Pong 60 с
- 23 пропущенных пульса (~180 с) запускают переподключение
- 3Майнеры продолжают отправлять шары на локальный порт во время восстановления
- 4Минимизирует потери хешрейта при нестабильности сети
API управления
Проблема
Ручное управление в масштабе ненадёжно и медленно. Командам нужен программный контроль.
Решение
Полный RESTful JSON API на /api/v1/ позволяет скриптам, CI/CD и сторонним системам автоматизировать управление всеми ресурсами HashRelay.
Технические детали
- 1Управление пулами: полные CRUD-операции
- 2Управление маппингами портов с живым статусом
- 3Управление узлами-клиентами и генерация токенов
- 4Эндпоинты статистики и событий оповещения
Производительность и стабильность на Rust
Проблема
Ретранслятор работает 24/7 под огромной нагрузкой. Скрипты и смешанные стеки дают GC-паузы, утечки и джиттер — на масштабе фермы это критично.
Решение
Ядро HashRelay написано на Rust с нуля — безопасность памяти, zero-copy и минимальная нагрузка на CPU при миллионах майнеров.
Технические детали
- 1Полный стек Rust: ретрансляция, статистика, админка
- 2Zero-copy: данные по возможности не покидают ядро
- 3Без GC-пауз: низкая задержка под нагрузкой
- 4Безопасность памяти на этапе компиляции
Телеметрия железа и история
Проблема
Перегрев и дрейф потребления всплывают поздно. У каждого вендора свой формат — единых трендов нет.
Решение
Периодический сбор температуры, мощности, оборотов вентиляторов. Единое хранилище с выборкой по времени для быстрого анализа.
Аппаратная телеметрия
СобраноТехнические детали
- 1Автосбор без ручного обхода
- 2Температура, мощность, вентиляторы
- 3Полная история для сравнения трендов
- 4Связка с панелью и оповещениями
Удалённый доступ к веб-UI майнера
Проблема
Веб-интерфейс майнера только в LAN. Удалённая бригада не может зайти — только выезд или VPN на каждый риг.
Решение
HashRelay пробрасывает веб-порт майнера через шифрованный туннель. Настройки, логи и диагностика — как будто вы на ферме.
Воркеры
1024 майнеров| Статус | Воркер | Пул | Hash 5m | Reject |
|---|---|---|---|---|
| Онлайн | farm-a-01 | F2PoolBTC | 118.2 TH | 0.08% |
| Онлайн | farm-a-02 | F2PoolBTC | 117.9 TH | 0.11% |
| Онлайн | farm-b-07 | AntPoolBTC | 96.4 TH | 0.22% |
| Офлайн | farm-b-12 | AntPoolBTC | — | — |
| Онлайн | rack-c-03 | PoolinLTC | 8.6 GH | 0.05% |
| Онлайн | rack-c-09 | LuxorKAS | 12.1 TH | 0.14% |
Технические детали
- 1Белый IP на майнере не нужен
- 2Шифрованный туннель до веб-UI
- 3Диагностика из любой точки
- 4Доступ контролируется платформой
Единый мониторинговый экран
Проблема
Ферма на разном железе — N программ мониторинга, метрики и алерты разбросаны. Эффективность падает.
Решение
Экран HashRelay: хешрейт, аптайм, reject, телеметрия — аномалии подсвечиваются и пушатся. Одна платформа вместо N утилит вендоров.
- Воркер farm-a-12 офлайн > 5m00:42
- Всплеск reject на :333301:18
- Клиентский узел edge-03 переподключается02:05
Технические детали
- 1KPI всей фермы на одном экране
- 2Автоподсветка и оповещения
- 3Единый вид независимо от бренда
- 4Готово для экрана в диспетчерской