矿池 18
矿工 无
矿机 无
开发者

矿池 API

每个 HeroMiners 矿池都提供同一组只读 HTTP 端点。无需密钥、无需账户、无需注册:请求一个 URL 即可获得 JSON,并设置了 Access-Control-Allow-Origin: *,浏览器中的网页可以直接调用。您可以用它搭建矿机监控、支付通知、自己的仪表盘,或把矿池数据导入电子表格。

每个币都有自己的矿池、自己的数据和自己的地址格式,因此请先选择币种,再输入该币的地址。 您在此输入的内容只会发送给矿池本身,并且只在您点击“运行”时发送。

基础 URL
https://alephium.herominers.com

端点

GET /api/stats

矿池当前掌握的关于自身的全部信息:矿池与全网算力、在线矿工与矿机、最近一个区块、手续费、端口以及支付设置。

查询参数
address
一个支付地址。会在 miner 下加入该矿工;如果该矿工也在 SOLO 挖矿,还会加在 solo_miner 下。省略时这两个键都不会发送。

建议从这个端点开始。本站的矿池页面、矿工页面和所有图表都基于它构建。

请求
curl "https://alephium.herominers.com/api/stats"
响应

一个包含 pool、network、config、charts、lastblock、payments 和 visitors 的对象,其中 visitors 表示当前在站点上的人数,格式为 { windowMinutes, activeVisitors, activeLookups }。每个统计周期重新计算一次,因此轮询频率高于此周期只会返回相同的数字。

GET /api/live_stats

与 /api/stats 相同的数据,但请求会保持打开,直到下一个统计周期完成后才返回。每次更新只需一个请求,无需定时轮询。

查询参数
address
在数据中包含一个矿工,与 /api/stats 相同。

打开一个连接,在它返回后重新打开。同一 IP 同时打开多个连接会被 503 拒绝,因此请勿并发请求。

请求
curl "https://alephium.herominers.com/api/live_stats"
响应

与 /api/stats 结构相同,但 miner 和 solo_miner 始终会发送,未提供地址时为空。请求最多保持打开一个统计周期。

GET /api/stats_address

单个矿工:当前与平均算力、有效份额与过期份额、余额、已支付金额,以及每台矿机的相同数据。

查询参数
address必填
要查询的支付地址。
请求
curl "https://alephium.herominers.com/api/stats_address"

请在上方填写 address 以运行此请求。命令中包含它,是因为缺少它时矿池会返回错误。

响应

一个包含 stats(矿工汇总)、payments、charts、unlocked 和 workers 的对象,workers 是一个数组,每台矿机一项,以其 name 命名。从未在此挖矿的地址会返回错误,而不是空的矿工数据。

GET /api/get_blocks

矿池已找到且不再处于待定状态的区块:已支付或已成为孤块。status 表明是哪一种。

查询参数
height必填
返回低于此高度的区块。传入远高于链顶的数字可获取最新一页,再传入您收到的最低高度向前翻页。

发现者地址在离开矿池前已被遮蔽,因此无法通过此端点收集地址。time 为 Unix 秒,reward 以该币的最小单位计,SOLO 区块在已支付时 score 为 s0,成为孤块时为 s1。

请求
curl "https://alephium.herominers.com/api/get_blocks?height=9999999999"
响应

一个值与高度交替排列的扁平数组:[block, height, block, height, ...]。每个区块以冒号分隔:

0hash1time2difficulty3shares4score5nonce6status7reward8finder9region10rewardScheme
GET /api/get_payments

矿池已发出的支付,可以是全矿池的,也可以是单个地址的。

查询参数
time必填
返回此 Unix 时间戳(秒)之前的支付。使用当前时间获取最新一页,再用您收到的最早时间戳向前翻页。
address
仅限一个支付地址。省略则返回矿池的全部支付。
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

矿池中规模最大的十位矿工,以及矿工页面背后的挖矿软件和地区分布数据。

请求
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 是两次搜索之间需要等待的时间。

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。

使用建议

  • 按矿池自己的节奏轮询。 数据每个统计周期重新计算一次,/api/stats 返回中的 config.updateInterval 以秒为单位给出周期长度。比这更频繁地请求只会得到相同的答案,还会浪费双方的带宽。
  • 优先使用 /api/live_stats,而不是快速定时器。 一有新数据它就会立即返回,对您来说更快,对矿池来说也比轮询更轻量。
  • 将金额保留为字符串。 奖励和余额以该币的最小单位返回。在 18 位小数的链上,这些整数会超出 JavaScript 数字能精确表示的范围,解析时会悄悄地把支付金额四舍五入。
  • 地址会被遮蔽。 公开列表会隐藏每个地址的中间部分。只有您自己需要您的完整地址,而且只在您提供它的地方使用。
  • 把限速当作等待,而不是失败。 在有限制的地方,返回值会带有 retryMs。请等待这么长时间后再重试,而不是反复猛刷。
  • 表明您的身份。 User-Agent 中写明您的工具名称并非必需,但这样我们可以在有变更时通知您,而不必让您猜测哪里出了问题。