Вие
За разработчици

API на пула

Всеки пул на HeroMiners отговаря на един и същ набор от HTTP крайни точки само за четене. Няма ключ, акаунт или регистрация: заявявате URL и получавате JSON, със зададен Access-Control-Allow-Origin: *, така че страница в браузър може да го извиква директно. Използвайте го, за да изградите наблюдение на риговете, известие за изплащания, свое собствено табло или да изтеглите данните на пула в електронна таблица.

Въведете адреса си и всеки пример по-долу е готов за изпълнение срещу този пул. Нищо от въведеното тук не се изпраща никъде освен до самия пул и то само когато натиснете „Изпълни“.

Базов URL
https://quantus.herominers.com

Крайни точки

GET /api/stats

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

Параметри
address
Адрес за изплащане. Добавя този миньор под miner и под solo_miner, ако копае и соло. Без него нито един от двата ключа не се изпраща.

Това е крайната точка, от която да започнете. Страницата на пула, страницата с миньорите и всяка графика на този сайт се изграждат от нея.

Заявка
curl "https://quantus.herominers.com/api/stats"
Отговор

Обект с pool, network, config, charts, lastblock, payments и visitors, колко души са на сайта в момента, като { windowMinutes, activeVisitors, activeLookups }. Преизчислява се веднъж на цикъл на статистиката, затова по-честите заявки връщат същите числа.

GET /api/live_stats

Същите данни като /api/stats, но заявката остава отворена до края на следващия цикъл на статистиката и тогава получава отговор. Една заявка на обновяване вместо запитвания по таймер.

Параметри
address
Включва миньор в отговора, както при /api/stats.

Отворете една връзка и я отворете отново, когато получи отговор. Няколко едновременно отворени връзки от един и същ IP се отказват с 503, затова не ги умножавайте.

Заявка
curl "https://quantus.herominers.com/api/live_stats"
Отговор

Същата структура като /api/stats, с тази разлика, че miner и solo_miner се изпращат винаги, празни, когато не е подаден адрес. Заявката остава отворена до един цикъл на статистиката.

GET /api/stats_address

Един миньор: текущ и среден хешрейт, валидни и остарели дялове, баланс, изплатена сума и същите стойности за всеки работник.

Параметри
addressзадължително
Адресът за изплащане, който да се провери.
Заявка
curl "https://quantus.herominers.com/api/stats_address"

Въведете address по-горе, за да изпълните тази заявка. Командата го показва, защото без него пулът отговаря с грешка.

Отговор

Обект с stats (сумарните стойности на миньора), payments, charts, unlocked и workers, масив с по един запис за всеки работник, именуван чрез своето name. Адрес, който никога не е копал тук, получава грешка вместо празен миньор.

GET /api/get_blocks

Блокове, намерени от пула, които вече не са чакащи: изплатени или осиротели. status казва кое от двете.

Параметри
heightзадължително
Връща блоковете под тази височина. Подайте число далеч над върха на веригата за най-новата страница, след това най-ниската получена височина, за да се движите назад.

Адресът на намерилия блока се маскира, преди да напусне пула, затова тази крайна точка не може да се използва за събиране на адреси. time е в Unix секунди, reward е в най-малката единица на монетата, а соло блок носи score със стойност s0, когато е изплатен, или s1, когато е осиротял.

Заявка
curl "https://quantus.herominers.com/api/get_blocks?height=9999999999"
Отговор

Плосък масив, в който се редуват стойност и височина: [block, height, block, height, ...]. Полетата на всеки блок са разделени с двоеточие:

0hash1time2difficulty3shares4score5nonce6status7reward8finder9region10rewardScheme
GET /api/get_payments

Плащания, изпратени от пула, за целия пул или за един адрес.

Параметри
timeзадължително
Връща плащанията преди този Unix времеви печат в секунди. Използвайте текущото време за най-новата страница, след това най-стария получен времеви печат, за да се движите назад.
address
Ограничава до един адрес за изплащане. Пропуснете го за всички плащания, направени от пула.
limit
Колко да се върнат. Ограничава се до размера на страницата на пула, така че по-голямо число просто връща толкова.
format
Подайте parsed, за да получите обекти { tx, amount, time } вместо суровия масив.
conversions
Заедно с address подайте 1, за да получите и записа за обмен на всяко изплащане на страницата, обменено в друга монета. Тогава отговорът става { payments, conversions }. Пренебрегва се при format=parsed.
Заявка
curl "https://quantus.herominers.com/api/get_payments?time=1792922073"
Отговор

Без format това е плосък масив, в който се редуват стойност и времеви печат, като всяка стойност е txid:amount. Сумите са низове в най-малката единица на монетата и трябва да останат низове: ако се преобразуват в число, на верига с 18 десетични знака се губи точност.

GET /api/get_miners_stats

Десетте най-големи миньори в пула, плюс разбивките по програми за копаене и по региони, на които стъпва страницата с миньорите.

Заявка
curl "https://quantus.herominers.com/api/get_miners_stats"
Отговор

Обект с miners, agents, regions, regionHistory и statsDisplay. Адресите са маскирани. Когато даден панел не е включен, масивът му идва празен и statsDisplay го посочва.

GET /api/get_blocks_search_config

Дали търсенето на блокове е включено и в какви граници трябва да е заявката, така че полето за търсене да се настрои преди първото търсене.

Заявка
curl "https://quantus.herominers.com/api/get_blocks_search_config"
Отговор

{ enabled, minQueryLength, maxQueryLength, frontendCooldownMs }. Дължините са в знаци, а frontendCooldownMs е колко да се изчака между две търсения.

GET /api/get_miner_payout_level

Прагът за изплащане, зададен в момента за даден адрес, в цели монети.

Параметри
addressзадължително
Адресът за изплащане.

Съответната /api/set_miner_payout_level го записва и тя не е отворена за всеки: заявката трябва да идва от IP адреса, от който копае самият адрес. Тази проверка и ограничението на заявките пред нея са описани в раздела с настройки на таблото, а не тук.

Заявка
curl "https://quantus.herominers.com/api/get_miner_payout_level"

Въведете address по-горе, за да изпълните тази заявка. Командата го показва, защото без него пулът отговаря с грешка.

Отговор

{ status: "done", level }. Адрес, който никога не е задавал праг, получава минимума на пула.

GET /api/miner_ban_status

Известието за блокиране, което страницата на миньора показва за даден адрес, и всяко съобщение, оставено за него от оператора.

Параметри
addressзадължително
Адресът за изплащане.
Заявка
curl "https://quantus.herominers.com/api/miner_ban_status"

Въведете address по-горе, за да изпълните тази заявка. Командата го показва, защото без него пулът отговаря с грешка.

Отговор

{ banned, minerMessage }, а при блокиране също blockMining, blockPayments и reason. Това е известието, което страницата на миньора показва за този адрес: блокиран за копаене, за изплащания или за нито едно от двете. minerMessage е съобщението на оператора до този адрес, като { message, type, createdAt, expiresAt }, или null, когато няма такова.

Как да го използвате добре

  • Питайте в ритъма на пула. Числата се преизчисляват веднъж на цикъл на статистиката, а config.updateInterval в отговора на /api/stats казва колко секунди е той. По-честите заявки връщат същия отговор и струват трафик и на двете страни.
  • Предпочитайте /api/live_stats пред бърз таймер. Отговаря в момента, в който има нещо ново, което е едновременно по-бързо за Вас и по-леко за пула от периодичните запитвания.
  • Пазете сумите като низове. Наградите и балансите идват в най-малката единица на монетата. На верига с 18 десетични знака тези цели числа надхвърлят това, което число в JavaScript може да представи точно, така че преобразуването тихомълком закръгля изплащането.
  • Очаквайте адресите да са маскирани. Публичните списъци скриват средата на всеки адрес. Пълният Ви адрес е нужен само на Вас и само там, където сами го въвеждате.
  • Приемайте ограничението на заявките като изчакване, а не като грешка. Където има ограничение, отговорът съдържа retryMs. Изчакайте толкова и опитайте отново, вместо да засипвате пула със заявки.
  • Представете се. Заглавие User-Agent, което назовава Вашия инструмент, не е задължително, но така можем да Ви уведомим за промяна, вместо да гадаете какво се е развалило.