Руководство по NoxHash API — автоматизация майнинга
Технический превью NoxHash API: аутентификация, эндпоинты, вебхуки, лимиты и типовые шаблоны автоматизации облачного майнинга.
NoxHash API — это планируемый REST-интерфейс, который позволит разработчикам программно читать данные майнинга, отслеживать заработок и запускать рабочие процессы из собственных скриптов, дашбордов или ботов. Вы уже сегодня можете создавать и отзывать API-ключи в разделе Профиль → API Keys — в этом руководстве показан предварительный вид шаблонов, которым будут следовать публичные эндпоинты.
Почему важен API для майнинга
Как только у вас работает больше одного-двух майнеров, веб-дашборд перестаёт быть самым быстрым способом увидеть всё сразу. Вам нужен единый экран, который подтянет хешрейт NoxHash рядом с балансами на биржах, статистикой пулов от других операторов и вашими собственными оповещениями о цене BTC. API делает это возможным без копирования-вставки или парсинга экрана.
NoxHash API проектируется вокруг трёх сценариев использования, которые мы постоянно слышим от операторов: мониторинг, отслеживание портфеля и пользовательские интеграции. Имена эндпоинтов и полезные нагрузки ниже описывают форму, которую мы планируем выпустить; воспринимайте их как технический предварительный просмотр, а не как замороженный контракт.
Автоматический мониторинг
Опрашивайте живой хешрейт и статус майнеров, затем отправляйте оповещения в Telegram, Slack или на email, когда машина опускается ниже порога.
Отслеживание портфеля
Синхронизируйте баланс BTC, дневной заработок и историю транзакций в Google Sheets, Notion или самостоятельно размещённом BI-инструменте.
Пользовательские интеграции
Создавайте ботов, отчёты или внутренние инструменты, которые подходят вашему рабочему процессу — не дожидаясь появления UI-функций.
Аутентификация — как будут работать API Keys
Каждый защищённый запрос должен содержать API-ключ, отправленный в HTTP-заголовке Authorization в виде bearer-токена. Это стандартная схема, которой следует большинство современных REST API, и она не позволяет ключу попасть в URL-адреса, логи referer и историю браузера.
1. Создайте ключ
Перейдите в Профиль → API Keys, дайте ключу описательное имя (например, monitoring-bot) и при желании установите срок действия. Немедленно скопируйте ключ в открытом виде — он показывается только один раз, а затем хранится в виде хеша.
2. Отправляйте его с каждым запросом
Добавляйте Authorization: Bearer YOUR_API_KEY к каждому вызову. Храните ключ как переменную окружения — никогда не коммитьте его в git, никогда не вставляйте в клиентский JavaScript и никогда не логируйте.
Пример запроса (псевдокод curl)
Фрагмент ниже показывает ожидаемую форму. Замените nxh_live_... ключом, скопированным со страницы Профиля.
curl -X GET "https://noxhash.com/api/v1/miners" \
-H "Authorization: Bearer nxh_live_YOUR_KEY_HERE" \
-H "Accept: application/json"
Успешный ответ возвращает JSON с массивом data и метаданными пагинации. Неавторизованные запросы возвращают HTTP 401; запросы без действительного scope возвращают 403.
Справочник планируемых эндпоинтов
Таблица ниже перечисляет эндпоинты, которые мы планируем открыть в первом публичном релизе. Имена и поля могут немного измениться перед запуском, поэтому проверяйте актуальную документацию, когда начнёте писать код. Все эндпоинты сначала доступны только для чтения; операции записи (запуск майнеров, создание запросов на вывод) появятся после того, как read-API стабилизируется.
| Method & Path | Назначение | Типичное использование |
|---|---|---|
| GET /v1/miners | Список арендованных майнеров | Статус, хешрейт, оставшиеся дни |
| GET /v1/miners/{id} | Получить один майнер | Подробные характеристики и uptime |
| GET /v1/earnings | История заработка | Ежедневные награды в BTC, фильтр по диапазону |
| GET /v1/transactions | Депозиты и выводы | Аудиторский след для бухгалтерии |
| GET /v1/wallet | Текущий баланс | Баланс BTC плюс конвертация в USD |
| GET /v1/plans | Каталог маркетплейса | Цены по уровням для инструментов сравнения |
Каждый list-эндпоинт будет возвращать постраничные результаты по общепринятому шаблону запроса ?page=1&per_page=25, с объектом meta, содержащим total, page и per_page. По умолчанию ограничение около 25 элементов на страницу, чтобы время ответа оставалось быстрым.
Ограничения скорости и Webhook
Опрашивать API каждую секунду расточительно, когда данные, которые вас интересуют, меняются раз в несколько минут. NoxHash API объединит разумные ограничения скорости с системой webhook, чтобы вы могли выбрать правильный инструмент для каждой задачи.
Ограничения скорости
Ожидайте лимит на ключ, измеряемый в запросах в минуту. Каждый ответ будет содержать заголовки, такие как X-RateLimit-Limit, X-RateLimit-Remaining и X-RateLimit-Reset. Когда вы достигаете потолка, запросы возвращают HTTP 429 с заголовком Retry-After — отступайте и повторяйте попытку, а не долбите эндпоинт.
Webhook для событий
Для всего, что чувствительно ко времени — отключение майнера, подтверждение депозита, истечение аренды — webhook однозначно лучше опроса. Вы регистрируете URL, бэкенд NoxHash отправляет POST с подписанной JSON-полезной нагрузкой при наступлении события, и ваш сервер реагирует в реальном времени. Типичные события, которые мы планируем выпустить:
- miner.status_changed — машина переходит между Running, Stopped или Expired.
- deposit.confirmed — входящий депозит USDT зачислен на ваш кошелёк.
- withdrawal.processed — вывод BTC завершён в блокчейне.
- rental.expiring_soon — срабатывает примерно за 7 дней до окончания аренды, чтобы вы могли продлить её заранее.
Полезные нагрузки будут подписываться HMAC-секретом, чтобы ваш сервер мог проверить подлинность перед действиями. Следуйте рекомендациям из OWASP API Security Top 10 при проектировании обработчика webhook — особенно в части валидации ввода, аутентификации и защиты от повторного воспроизведения.
Создайте свой первый API-ключ до появления эндпоинтов
Вы уже видели поток аутентификации и карту планируемых эндпоинтов выше. Откройте свой аккаунт NoxHash сейчас, перейдите в Профиль → API Keys, и вы будете готовы обратиться к /v1/miners в ту самую минуту, как он станет публичным.
Четыре шаблона автоматизации, которые стоит построить
Ниже приведены наиболее распространённые рабочие процессы, которые операторы создают, получив доступ к API. Ни один из них не экзотичен — но каждый экономит реальное время по сравнению с ручной проверкой веб-дашборда.
Оповещения о падении хешрейта
Опрашивайте /v1/miners каждые 5 минут. Если зарегистрированный хешрейт любого майнера ниже 80% его номинальных TH/s в течение двух подряд проверок, отправляйте сообщение в Telegram, чтобы вы могли разобраться или связаться со службой поддержки.
Ежедневный дашборд заработка
Тяните /v1/earnings раз в день в Google Sheets или панель Grafana. Визуализируйте заработанные BTC, эквивалент в USD и накопленные итоги рядом с данными о цене BTC.
Сверка депозитов
Подпишитесь на webhook deposit.confirmed, а затем добавляйте строку в свою бухгалтерскую таблицу с суммой, сетью (TRC-20 или BEP-20) и временной меткой. Больше никакой ручной сверки с обозревателями блоков.
Напоминания о продлении аренды
Слушайте rental.expiring_soon и автоматически отправляйте себе email с обзором майнеров, у которых истекает срок. Сочетайте с /v1/plans, чтобы сравнить свежие цены перед продлением.
Берегите свой API-ключ
API-ключ эквивалентен паролю для эндпоинтов, к которым у него есть доступ — относитесь к нему соответственно. Привычки ниже быстро настраиваются и значительно уменьшают ущерб от утечки ключа:
- Никогда не коммитьте ключи в git. Помещайте их в файл
.env, добавленный в gitignore, или используйте менеджер секретов, такой как 1Password, Doppler или AWS Secrets Manager. - Вызывайте API с сервера, а не из браузера. Клиентский JavaScript отправляет ваш ключ всем, кто откроет DevTools. Вместо этого проксируйте запросы через собственный бэкенд.
- Устанавливайте срок действия для каждого ключа. Ключ со сроком действия 90 дней ограничивает радиус поражения при утечке. Ротируйте по расписанию, которое соответствует вашей толерантности к риску.
- Отзывайте ключи, которые больше не используете. Удаляйте старые скрипты и демо-ключи из Профиль → API Keys в момент, когда они устаревают.
- Следите за необычной активностью. Если вы видите запросы, которые не делали, немедленно отзовите ключ и выясните, где он мог утечь.
Часто задаваемые вопросы
Доступен ли NoxHash API прямо сейчас?
Создание и отзыв API-ключей уже работают в Профиль → API Keys. Публичные REST-эндпоинты, описанные в этом руководстве, являются частью продолжающегося запуска; имена эндпоинтов и формы ответов могут измениться перед общей доступностью. Всегда проверяйте актуальную документацию, когда начинаете работу по интеграции.
Сколько API-ключей я могу создать для одного аккаунта?
Вы можете создавать несколько ключей и задавать каждому описательное имя и опциональный срок действия. Распространённый шаблон — один ключ на интеграцию — monitoring-bot, sheets-sync, personal-cli — так что в случае утечки одного из них вы сможете отозвать только этот ключ, не ломая остальные.
Что произойдёт, если я потеряю API-ключ?
Ключи в открытом виде показываются только один раз при создании и затем хранятся в виде хешей, поэтому мы не можем восстановить потерянный ключ. Удалите старую запись в Профиль → API Keys, создайте новый ключ и обновите переменную окружения в том скрипте или сервисе, который от него зависел.
Появятся ли в API операции записи, а не только чтения?
План такой: сначала выпустить read-эндпоинты, затем добавить операции записи, такие как запуск или остановка майнеров и создание заказов аренды, когда read-поверхность станет стабильной и хорошо задокументированной. Чувствительные действия, такие как выводы, вероятно, потребуют дополнительной защиты, например 2FA-запроса или ключа со scope.
Какие языки программирования работают с API?
Любой язык, который может отправить HTTPS-запрос и распарсить JSON — то есть фактически любой современный язык. Python с requests, Node.js с fetch, Go с net/http, PHP с Guzzle и shell-скрипты с curl — все они полноправные граждане. Официальные SDK не требуются для старта.
Как мне проверить, что webhook действительно пришёл от NoxHash?
Доставки webhook будут содержать заголовок с HMAC-подписью, вычисленной из сырого тела запроса и общего секрета, который вы настраиваете при подписке. Ваш обработчик пересчитывает подпись и сравнивает её за постоянное время перед действиями над полезной нагрузкой — стандартный шаблон, также используемый Stripe, GitHub и Slack.
Технический предварительный просмотр — спецификация может эволюционировать
Пути эндпоинтов, имена полей, ограничения скорости и полезные нагрузки webhook, описанные в этом руководстве, отражают текущее направление нашего дизайна и могут измениться до публичного релиза. Всегда обращайтесь к актуальной документации NoxHash API за авторитетной спецификацией, когда начнёте разработку. Эта статья носит исключительно информационный характер и не является финансовым или инвестиционным советом; любой доход от майнинга зависит от цены BTC, сложности сети и рыночных условий, которые могут быстро меняться. Вкладывайте только те средства или время на инфраструктуру, которые вы можете позволить себе потерять.