Tots els pools de HeroMiners responen al mateix conjunt d'endpoints HTTP només de lectura. No hi ha clau, ni compte, ni registre: demaneu una URL i rebeu JSON, amb Access-Control-Allow-Origin: * definit perquè una pàgina al navegador la pugui cridar directament. Feu-la servir per crear un monitor de rigs, un avís de pagaments, el vostre propi tauler o per portar les dades del pool a un full de càlcul.
Introduïu la vostra adreça i tots els exemples de sota quedaran a punt per executar-se contra aquest pool. Res del que escriviu aquí no s'envia enlloc que no sigui el mateix pool, i només quan premeu Executa.
URL base
https://quantus.herominers.com
Endpoints
GET/api/stats
Tot el que el pool sap de si mateix en aquest moment: hashrate del pool i de la xarxa, miners i workers connectats, l'últim bloc, comissions, ports i la configuració de pagaments.
Paràmetres
address
Una adreça de pagament. Afegeix aquest miner a miner, i a solo_miner si també mina en solitari. Sense ella, no s'envia cap de les dues claus.
Aquest és l'endpoint per on començar. La pàgina del pool, la pàgina de miners i tots els gràfics d'aquest lloc es construeixen a partir d'ell.
Petició
curl "https://quantus.herominers.com/api/stats"
Resposta
Un objecte amb pool, network, config, charts, lastblock, payments i visitors, quantes persones hi ha al lloc ara mateix, com a { windowMinutes, activeVisitors, activeLookups }. Es recalcula una vegada per cicle d'estadístiques, així que consultar-lo més sovint retorna les mateixes xifres.
GET/api/live_stats
El mateix contingut que /api/stats, però la petició es manté oberta fins que acaba el cicle d'estadístiques següent i només llavors es respon. Una petició per actualització en lloc de consultar amb un temporitzador.
Paràmetres
address
Inclou un miner al contingut, com a /api/stats.
Obriu una connexió i torneu-la a obrir quan respongui. Si n'hi ha diverses obertes alhora des de la mateixa IP, es rebutgen amb un 503, així que no les multipliqueu.
La mateixa forma que /api/stats, tret que miner i solo_miner s'envien sempre, buits quan no s'ha indicat cap adreça. La petició roman oberta fins a un cicle d'estadístiques.
GET/api/stats_address
Un miner: hashrate actual i mitjà, shares vàlides i obsoletes, saldo, import pagat i les mateixes xifres per worker.
Introduïu address a dalt per executar aquest. L'ordre ho mostra perquè el pool respon amb un error sense aquest valor.
Resposta
Un objecte amb stats (els totals del miner), payments, charts, unlocked i workers, un array amb una entrada per worker identificada pel seu name. Una adreça que no ha minat mai aquí respon amb un error en lloc d'un miner buit.
GET/api/get_blocks
Blocs trobats pel pool que ja no estan pendents: pagats o orfes. status indica quin és el cas.
Paràmetres
heightobligatori
Retorna blocs per sota d'aquesta alçada. Passeu un número molt per sobre de la punta de la cadena per a la pàgina més recent i, després, l'alçada més baixa rebuda per retrocedir pàgines.
L'adreça de qui ha trobat el bloc s'emmascara abans de sortir del pool, així que aquest endpoint no serveix per recopilar adreces. time és en segons Unix, reward és en la unitat més petita de la moneda, i un bloc solo porta un score de s0 quan s'ha pagat o s1 quan ha quedat orfe.
Pagaments enviats pel pool, de tot el pool o d'una adreça.
Paràmetres
timeobligatori
Retorna pagaments anteriors a aquesta marca de temps Unix en segons. Feu servir l'hora actual per a la pàgina més recent i, després, la marca de temps més antiga rebuda per retrocedir pàgines.
address
Limita a una adreça de pagament. Sense ella, retorna tots els pagaments que ha fet el pool.
limit
Quants se n'han de retornar. Es limita a la mida de pàgina del mateix pool, així que un número més gran simplement retorna aquesta mida.
format
Passeu parsed per rebre objectes { tx, amount, time } en lloc de l'array en brut.
conversions
Amb address, passeu 1 per rebre també el registre de conversió de cada pagament de la pàgina que s'ha convertit a una altra moneda. Aleshores la resposta passa a ser { payments, conversions }. S'ignora amb format=parsed.
Sense format, un array pla que alterna valor i marca de temps, on cada valor és txid:amount. Els imports són strings en la unitat més petita de la moneda i han de continuar sent strings: convertir-los a número perd precisió en una cadena amb 18 decimals.
GET/api/get_miners_stats
Els deu miners més grans del pool, més els desglossaments per programari de mineria i per regió que alimenten la pàgina de miners.
Un objecte amb miners, agents, regions, regionHistory i statsDisplay. Les adreces van emmascarades. Quan un panell no està activat, el seu array arriba buit i statsDisplay ho indica.
GET/api/get_blocks_search
Cerca als blocs del pool per alçada, hash del bloc o adreça de qui l'ha trobat, en blocs pendents i pagats alhora.
Paràmetres
qobligatori
Una alçada, un hash de bloc o una adreça.
offset
Omet aquest nombre de resultats. La resposta inclou hasMore perquè sapigueu si heu de tornar a demanar.
La cerca té un límit de peticions per IP, i superar-lo retorna rateLimited amb l'espera exacta a retryMs en lloc d'un error simple. Crideu primer /api/get_blocks_search_config per conèixer els límits de longitud i si la cerca està activada.
Introduïu q a dalt per executar aquest. L'ordre ho mostra perquè el pool respon amb un error sense aquest valor.
Resposta
Un objecte amb pending i matured, tots dos alternant valor i alçada com /api/get_blocks, més totalMatched, offset, limit i hasMore. Un bloc matured és en el format de /api/get_blocks; un bloc pending encara espera madurar i fa servir el format pendent, més llarg, així que els seus camps van en un altre ordre.
GET/api/get_blocks_search_config
Si la cerca de blocs està activada i els límits que ha de complir una consulta, per poder configurar un quadre de cerca abans de la primera cerca.
{ enabled, minQueryLength, maxQueryLength, frontendCooldownMs }. Les longituds són en caràcters, i frontendCooldownMs és quant cal esperar entre dues cerques.
GET/api/get_miner_payout_level
El llindar de pagament definit actualment per a una adreça, en monedes senceres.
Paràmetres
addressobligatori
L'adreça de pagament.
El /api/set_miner_payout_level corresponent és el que el desa, i no està obert a tothom: la petició ha de venir de la mateixa IP de mineria de l'adreça. Aquesta comprovació, i el límit de peticions que la precedeix, es descriuen a la pestanya de configuració del tauler, no aquí.
Introduïu address a dalt per executar aquest. L'ordre ho mostra perquè el pool respon amb un error sense aquest valor.
Resposta
{ banned, minerMessage } i, quan està bloquejada, també blockMining, blockPayments i reason. És l'avís que la pàgina del miner mostra per a aquesta adreça: bloquejada per minar, per rebre pagaments, o cap de les dues coses. minerMessage és el missatge de l'operador per a aquesta adreça, com a { message, type, createdAt, expiresAt }, o null quan no n'hi ha cap.
Com fer-la servir bé
Consulteu al ritme del mateix pool. Les xifres es recalculen una vegada per cicle d'estadístiques, i config.updateInterval a la resposta de /api/stats indica quant dura, en segons. Demanar-les més sovint retorna la mateixa resposta i gasta amplada de banda per totes dues bandes.
Preferiu /api/live_stats a un temporitzador ràpid. Respon tan bon punt hi ha alguna cosa nova, cosa que és més ràpida per a vós i més lleugera per al pool que consultar a intervals.
Deseu els imports com a strings. Les recompenses i els saldos arriben en la unitat més petita de la moneda. En una cadena amb 18 decimals, aquests enters superen el que un número de JavaScript pot desar amb exactitud, així que convertir-los arrodoneix un pagament sense avisar.
Compteu amb adreces emmascarades. Els llistats públics amaguen la part central de cada adreça. La vostra adreça completa només la necessiteu vós, i només on vós mateix la indiqueu.
Tracteu un límit de peticions com una espera, no com un error. On hi ha un límit, la resposta inclou retryMs. Espereu aquest temps i torneu-ho a provar en lloc d'insistir sense parar.
Digueu qui sou. Un User-Agent amb el nom de la vostra eina no és obligatori, però ens permet avisar-vos d'un canvi en lloc que hàgiu d'endevinar què s'ha trencat.