プール 18
マイナー なし
ワーカー なし
開発者向け

プール API

すべての HeroMiners プールは、同じ読み取り専用の HTTP エンドポイントを提供しています。キーもアカウントも登録も不要です。URL をリクエストすると JSON が返り、Access-Control-Allow-Origin: * が設定されているため、ブラウザーのページから直接呼び出せます。リグの監視、支払いの通知、独自のダッシュボードの作成や、プールのデータをスプレッドシートに取り込むのにお使いください。

コインごとにプール、数値、アドレス形式がそれぞれ異なるため、先にコインを選んでからそのコインのアドレスを入力してください。 ここに入力した内容はプール以外には送信されず、「実行」を押したときにのみ送信されます。

ベース URL
https://alephium.herominers.com

エンドポイント

GET /api/stats

プールの現在の状態すべて:プールとネットワークのハッシュレート、接続中のマイナーとワーカー、最新のブロック、手数料、ポート、支払い設定。

クエリ
address
支払いアドレスです。そのマイナーを miner の下に追加し、ソロマイニングもしている場合は solo_miner の下にも追加します。省略するとどちらのキーも送信されません。

まずこのエンドポイントから始めてください。このサイトのプールページ、マイナーページ、すべてのチャートはこのエンドポイントをもとに作られています。

リクエスト
curl "https://alephium.herominers.com/api/stats"
応答

pool、network、config、charts、lastblock、payments、visitors を含むオブジェクトです。visitors は現在サイトにいる人数を { windowMinutes, activeVisitors, activeLookups } の形式で示します。統計サイクルごとに 1 回再計算されるため、それより頻繁にポーリングしても同じ数値が返ります。

GET /api/live_stats

/api/stats と同じデータですが、次の統計サイクルが終わるまでリクエストを保持してから応答します。タイマーでポーリングする代わりに、更新ごとにリクエスト 1 つで済みます。

クエリ
address
/api/stats と同様に、データにマイナーを含めます。

接続を 1 つ開き、応答があったら開き直してください。同じ IP から同時に複数の接続を開くと 503 で拒否されるため、リクエストを分散させないでください。

リクエスト
curl "https://alephium.herominers.com/api/live_stats"
応答

/api/stats と同じ構造ですが、miner と solo_miner は常に送信され、アドレスが指定されていない場合は空になります。リクエストは最大で統計サイクル 1 回分保持されます。

GET /api/stats_address

マイナー 1 人分:現在と平均のハッシュレート、有効シェアとステイルシェア、残高、支払済み額、およびワーカーごとの同じ数値。

クエリ
address必須
照会する支払いアドレスです。
リクエスト
curl "https://alephium.herominers.com/api/stats_address"

このリクエストを実行するには、上で address を入力してください。これがないとプールがエラーで応答するため、コマンドに含まれています。

応答

stats(マイナーの合計)、payments、charts、unlocked、workers を含むオブジェクトです。workers はワーカーごとに 1 項目を持ち、各項目が name で名前付けされた配列です。このプールで一度もマイニングしたことのないアドレスは、空のマイナーデータではなくエラーで応答します。

GET /api/get_blocks

プールが見つけ、保留中ではなくなったブロック:支払い済み、または孤立ブロックになったものです。status がどちらかを示します。

クエリ
height必須
このブロック高より低いブロックを返します。最新のページはチェーンの先端よりはるかに大きい数を指定して取得し、それ以前のページは受け取った最も低いブロック高を指定して取得してください。

発見者のアドレスはプールの外に出る前にマスクされるため、このエンドポイントでアドレスを収集することはできません。time は Unix 秒、reward はコインの最小単位で、ソロのブロックは支払われた場合 score が s0、孤立ブロックになった場合は s1 になります。

リクエスト
curl "https://alephium.herominers.com/api/get_blocks?height=9999999999"
応答

値とブロック高が交互に並ぶフラットな配列:[block, height, block, height, ...]。各ブロックはコロン区切りです:

0hash1time2difficulty3shares4score5nonce6status7reward8finder9region10rewardScheme
GET /api/get_payments

プールが送った支払いで、プール全体またはアドレス 1 つが対象です。

クエリ
time必須
この Unix タイムスタンプ(秒)より前の支払いを返します。最新のページは現在時刻で取得し、それ以前のページは受け取った最も古いタイムスタンプで取得してください。
address
支払いアドレス 1 つに絞り込みます。省略すると、プールが行ったすべての支払いを返します。
limit
返す件数です。プール自体のページサイズが上限となるため、それより大きい数を指定してもその件数が返ります。
format
parsed を指定すると、生の配列の代わりに { tx, amount, time } オブジェクトを受け取れます。
conversions
address とともに 1 を指定すると、そのページで別のコインに換金されたすべての支払いの換金記録もあわせて受け取れます。その場合、応答は { payments, conversions } になります。format=parsed と一緒に使うと無視されます。
リクエスト
curl "https://alephium.herominers.com/api/get_payments?time=1792758504"
応答

format がない場合は、値とタイムスタンプが交互に並ぶフラットな配列で、各値は txid:amount です。金額はコインの最小単位の文字列で、文字列のまま扱う必要があります。小数点以下 18 桁のチェーンでは、数値に変換すると精度が失われます。

GET /api/get_miners_stats

プールで最も大きいマイナー 10 人と、マイナーページの元になるマイニングソフト別・リージョン別の内訳。

リクエスト
curl "https://alephium.herominers.com/api/get_miners_stats"
応答

miners、agents、regions、regionHistory、statsDisplay を含むオブジェクトです。アドレスはマスクされています。パネルが有効でない場合、その配列は空で返り、statsDisplay がそのことを示します。

GET /api/get_blocks_search_config

ブロック検索が有効かどうかと、クエリが満たすべき制限です。最初の検索の前に検索ボックスを設定できます。

リクエスト
curl "https://alephium.herominers.com/api/get_blocks_search_config"
応答

{ enabled, minQueryLength, maxQueryLength, frontendCooldownMs }。長さは文字数で、frontendCooldownMs は 2 回の検索の間に待つべき時間です。

GET /api/get_miner_payout_level

アドレスに現在設定されている支払い基準額で、コイン単位です。

クエリ
address必須
支払いアドレスです。

この値は対になる /api/set_miner_payout_level で書き込みますが、誰でも書き込めるわけではありません:リクエストはそのアドレス自身のマイニング IP から送る必要があります。この確認とその前にあるレート制限については、ここではなくダッシュボードの「設定」タブで説明しています。

リクエスト
curl "https://alephium.herominers.com/api/get_miner_payout_level"

このリクエストを実行するには、上で address を入力してください。これがないとプールがエラーで応答するため、コマンドに含まれています。

応答

{ status: "done", level }。一度も設定していないアドレスにはプールの最低額が返ります。

GET /api/miner_ban_status

マイナーページがアドレスに対して表示するブロック通知と、運営者がそのアドレスに残したメッセージ。

クエリ
address必須
支払いアドレスです。
リクエスト
curl "https://alephium.herominers.com/api/miner_ban_status"

このリクエストを実行するには、上で address を入力してください。これがないとプールがエラーで応答するため、コマンドに含まれています。

応答

{ banned, minerMessage } で、ブロックされている場合は blockMining、blockPayments、reason も含みます。マイナーページがこのアドレスに対して表示する通知、つまりマイニングのブロック、支払いのブロック、またはそのどちらでもないことを示します。minerMessage は運営者がこのアドレスに残したメッセージで、{ message, type, createdAt, expiresAt } の形式です。ない場合は null です。

上手な使い方

  • プールのサイクルに合わせてポーリングしてください。 数値は統計サイクルごとに 1 回再計算され、/api/stats の応答にある config.updateInterval がその長さを秒単位で示します。それより頻繁にリクエストしても同じ答えが返り、双方の帯域を無駄にするだけです。
  • 短い間隔のタイマーより /api/live_stats を使ってください。 新しいデータが出た瞬間に応答するため、より速く、ポーリングよりもプールの負荷が軽くなります。
  • 金額は文字列のまま扱ってください。 報酬と残高はコインの最小単位で返ります。小数点以下 18 桁のチェーンでは、この整数が JavaScript の数値で正確に表せる範囲を超えるため、数値に変換すると支払額が気づかないうちに丸められます。
  • アドレスはマスクされています。 公開の一覧では、すべてのアドレスの中央部分が隠されています。完全なアドレスが必要なのはご本人だけで、ご自身で入力する場所でのみ使われます。
  • レート制限は失敗ではなく待機として扱ってください。 制限が適用されると、応答に retryMs が含まれます。リクエストを連打せず、その時間だけ待ってから再試行してください。
  • ツールの名前を名乗ってください。 ツール名を含む User-Agent は必須ではありませんが、あれば何かが変わったときに、何が壊れたかを推測させることなく事前にお知らせできます。