Minden HeroMiners pool ugyanazokat a csak olvasható HTTP-végpontokat szolgálja ki. Nincs kulcs, nincs fiók és nincs regisztráció: lekér egy URL-t, és JSON-t kap vissza, beállított Access-Control-Allow-Origin: * fejléccel, így egy böngészőben futó oldal közvetlenül is meghívhatja. Használja rigfigyelő, kifizetésértesítő vagy saját irányítópult készítéséhez, vagy hogy a pool adatait egy táblázatba töltse.
Adja meg a címét, és az alábbi összes példa futtatható lesz ezen a poolon. Amit itt beír, azt csak magának a poolnak küldjük el, és csak akkor, ha a Futtatás gombra kattint.
Alap URL
https://quantus.herominers.com
Végpontok
GET/api/stats
Minden, amit a pool éppen tud önmagáról: pool- és hálózati hashráta, csatlakozott bányászok és dolgozók, az utolsó blokk, díjak, portok és a kifizetési beállítások.
Paraméter
address
Egy kifizetési cím. Hozzáadja az adott bányászt a miner alatt, és a solo_miner alatt is, ha solo módban is bányászik. Ha elhagyja, egyik kulcs sem kerül elküldésre.
Ezzel a végponttal érdemes kezdeni. A pool oldala, a bányászok oldala és az oldal minden diagramja ebből készül.
Kérés
curl "https://quantus.herominers.com/api/stats"
Válasz
Egy objektum ezekkel: pool, network, config, charts, lastblock, payments és visitors, vagyis hányan vannak éppen az oldalon, { windowMinutes, activeVisitors, activeLookups } formában. Statisztikai ciklusonként egyszer számolódik újra, így ennél gyakoribb lekérdezés ugyanazokat a számokat adja vissza.
GET/api/live_stats
Ugyanaz a tartalom, mint a /api/stats válasza, de a kérés nyitva marad a következő statisztikai ciklus végéig, és csak akkor érkezik válasz. Frissítésenként egy kérés, időzítős lekérdezés helyett.
Paraméter
address
Egy bányász felvétele a válaszba, ahogy a /api/stats esetén.
Nyisson egy kapcsolatot, és nyissa meg újra, amikor válaszol. Ugyanarról az IP-ről egyszerre nyitott több kapcsolatot 503-as hibával elutasítunk, ezért ne indítson párhuzamos kéréseket.
Ugyanaz a szerkezet, mint a /api/stats esetén, kivéve, hogy a miner és a solo_miner mindig elküldésre kerül, üresen, ha nem adott meg címet. A kérés legfeljebb egy statisztikai ciklusig marad nyitva.
GET/api/stats_address
Egy bányász: aktuális és átlagos hashráta, érvényes és elavult részesedések, egyenleg, kifizetett összeg, és ugyanezek az értékek dolgozónként.
A futtatáshoz adja meg fent ezt: address. A parancs azért tartalmazza, mert nélküle a pool hibával válaszol.
Válasz
Egy objektum ezekkel: stats (a bányász összesítései), payments, charts, unlocked és workers, egy tömb dolgozónként egy elemmel, amelyet a name mező nevez meg. Egy cím, amely itt soha nem bányászott, hibát kap válaszul üres bányász helyett.
GET/api/get_blocks
A pool által talált blokkok, amelyek már nem függőben lévők: kifizetettek vagy árvák. A status mondja meg, melyik.
Paraméter
heightkötelező
Az e magasság alatti blokkokat adja vissza. A legújabb oldalhoz adjon meg egy, a lánc csúcsánál jóval nagyobb számot, majd a visszafelé lapozáshoz a kapott legkisebb magasságot.
A megtaláló címét maszkoljuk, mielőtt elhagyja a poolt, így ezzel a végponttal nem lehet címeket gyűjteni. A time Unix-másodpercben, a reward az érme legkisebb egységében értendő, és egy solo blokk score értéke s0, ha kifizették, vagy s1, ha árva lett.
A pool által elküldött kifizetések, a teljes poolra vagy egy címre.
Paraméter
timekötelező
Az e Unix-időbélyeg (másodperc) előtti kifizetéseket adja vissza. A legújabb oldalhoz használja az aktuális időt, majd a visszafelé lapozáshoz a kapott legrégebbi időbélyeget.
address
Szűkítés egy kifizetési címre. Hagyja el a pool összes kifizetéséhez.
limit
Hány elemet adjon vissza. A pool saját oldalméretére korlátozódik, így egy nagyobb szám egyszerűen annyit ad vissza.
format
Adja meg a parsed értéket, hogy a nyers tömb helyett { tx, amount, time } objektumokat kapjon.
conversions
A address mellett adja meg az 1 értéket, hogy az oldalon szereplő minden, más érmére átváltott kifizetés átváltási rekordját is megkapja. A válasz ekkor { payments, conversions } lesz. A format=parsed mellett figyelmen kívül marad.
A format nélkül egy lapos tömb, felváltva érték és időbélyeg, ahol minden érték txid:amount. Az összegek az érme legkisebb egységében megadott stringek, és stringként kell maradniuk: ha számként dolgozza fel őket, egy 18 tizedesjegyű láncon pontosság vész el.
GET/api/get_miners_stats
A pool tíz legnagyobb bányásza, valamint a bányászprogramok és a régiók szerinti megoszlás, amelyek a bányászok oldalát adják.
Egy objektum ezekkel: miners, agents, regions, regionHistory és statsDisplay. A címek maszkoltak. Ha egy panel nincs engedélyezve, a tömbje üresen érkezik, és a statsDisplay ezt jelzi.
GET/api/get_blocks_search
Keresés a pool blokkjai között magasság, blokkhash vagy a megtaláló címe szerint, egyszerre a függőben lévő és a kifizetett blokkok között.
Paraméter
qkötelező
Egy magasság, egy blokkhash vagy egy cím.
offset
Ennyi találat kihagyása. A válasz tartalmazza a hasMore mezőt, így tudja, kell-e újra kérdeznie.
A keresés IP-nként korlátozott, és a korlát túllépésekor puszta hiba helyett rateLimited választ kap, a pontos várakozási idővel a retryMs mezőben. Először hívja meg a /api/get_blocks_search_config végpontot, hogy megtudja a hosszkorlátokat, és hogy egyáltalán be van-e kapcsolva a keresés.
A futtatáshoz adja meg fent ezt: q. A parancs azért tartalmazza, mert nélküle a pool hibával válaszol.
Válasz
Egy objektum pending és matured mezővel, mindkettő felváltva érték és magasság, mint a /api/get_blocks esetén, továbbá totalMatched, offset, limit és hasMore. Egy matured blokk a /api/get_blocks formátumát követi; egy pending blokk még az érésre vár, és a hosszabb, függőben lévő formátumot használja, ezért a mezői más sorrendben vannak.
GET/api/get_blocks_search_config
Be van-e kapcsolva a blokkkeresés, és milyen korlátoknak kell megfelelnie egy lekérdezésnek, hogy egy keresőmező már az első keresés előtt beállítható legyen.
{ enabled, minQueryLength, maxQueryLength, frontendCooldownMs }. A hosszak karakterben értendők, a frontendCooldownMs pedig az, hogy mennyit kell várni két keresés között.
GET/api/get_miner_payout_level
Egy címhez jelenleg beállított kifizetési küszöb, egész érmében.
Paraméter
addresskötelező
A kifizetési cím.
A párja, a /api/set_miner_payout_level írja, és nem nyitott bárki számára: a kérésnek a cím saját bányászati IP-jéről kell érkeznie. Ezt az ellenőrzést és az előtte álló kéréskorlátot az irányítópult beállítások lapja írja le, nem ez az oldal.
A futtatáshoz adja meg fent ezt: address. A parancs azért tartalmazza, mert nélküle a pool hibával válaszol.
Válasz
{ banned, minerMessage }, tiltás esetén pedig ezek is: blockMining, blockPayments és reason. Ez az az értesítés, amelyet a bányászoldal ehhez a címhez mutat: tiltva a bányászattól, a kifizetéstől, vagy egyiktől sem. A minerMessage az üzemeltető üzenete ennek a címnek, { message, type, createdAt, expiresAt } formában, vagy null, ha nincs ilyen.
Helyes használat
Kérdezzen le a pool saját ütemében. A számok statisztikai ciklusonként egyszer számolódnak újra, és a /api/stats válaszában a config.updateInterval adja meg ennek hosszát másodpercben. Ennél gyakoribb kérés ugyanazt a választ adja, és mindkét félnek sávszélességbe kerül.
Gyors időzítő helyett használja a /api/live_stats végpontot. Abban a pillanatban válaszol, amikor van valami új, ami Önnek gyorsabb, a poolnak pedig kisebb terhelés, mint az időzítős lekérdezés.
Tartsa meg az összegeket stringként. A jutalmak és az egyenlegek az érme legkisebb egységében érkeznek. Egy 18 tizedesjegyű láncon ezek az egész számok meghaladják azt, amit egy JavaScript-szám pontosan tárolni tud, így a feldolgozásuk észrevétlenül kerekít egy kifizetést.
Számítson rá, hogy a címek maszkoltak. A nyilvános listák elrejtik minden cím közepét. A saját teljes címére csak Önnek van szüksége, és csak ott, ahol Ön adja meg.
A kéréskorlátot kezelje várakozásként, ne hibaként. Ahol korlát érvényes, a válasz tartalmazza a retryMs mezőt. Várjon ennyit, és csak utána próbálja újra, ne ostromolja a poolt.
Mondja meg, ki Ön. Egy, az eszközét megnevező User-Agent nem kötelező, de így értesíteni tudjuk egy változásról, és nem kell találgatnia, mi romlott el.