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.
Minden érmének saját poolja van, saját számokkal és saját címformátummal, ezért először válassza ki az érmét, majd adjon meg egy címet ahhoz az érméhez. 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://alephium.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://alephium.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.