Poolok 18
Bányászok n. a.
Dolgozók n. a.
Fejlesztők

Pool API

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.

Kérés
curl "https://alephium.herominers.com/api/live_stats"
Válasz

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.

Paraméter
addresskötelező
A lekérdezendő kifizetési cím.
Kérés
curl "https://alephium.herominers.com/api/stats_address"

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.

Kérés
curl "https://alephium.herominers.com/api/get_blocks?height=9999999999"
Válasz

Egy lapos tömb, felváltva érték és magasság: [block, height, block, height, ...]. Minden blokk kettősponttal tagolt:

0hash1time2difficulty3shares4score5nonce6status7reward8finder9region10rewardScheme
GET /api/get_payments

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.
Kérés
curl "https://alephium.herominers.com/api/get_payments?time=1792758504"
Válasz

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.

Kérés
curl "https://alephium.herominers.com/api/get_miners_stats"
Válasz

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_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.

Kérés
curl "https://alephium.herominers.com/api/get_blocks_search_config"
Válasz

{ 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.

Kérés
curl "https://alephium.herominers.com/api/get_miner_payout_level"

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

{ status: "done", level }. Egy cím, amely soha nem állított be ilyet, a pool minimumát kapja.

GET /api/miner_ban_status

A tiltási értesítés, amelyet a bányászoldal egy címhez mutat, és az üzenet, amelyet az üzemeltető hagyott neki, ha van ilyen.

Paraméter
addresskötelező
A kifizetési cím.
Kérés
curl "https://alephium.herominers.com/api/miner_ban_status"

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.