在 bntpool.com 上查看你的矿机

· 6 分钟阅读

seine 在 bntpool.com 上开始挖矿后,矿池会把它看到的一切展示给你:你的算力、每一个被接受的份额、你已赚取的金额,以及发送到你地址的每一笔支付。本指南介绍 My Stats 页面、展示整个矿池的公开页面,以及可供脚本和家庭仪表盘使用的公开 API。

如果你还没有开始挖矿,seine 安装指南可以让你在几分钟内获得第一批份额。

如何在 bntpool.com 上查看矿机统计?

简短回答

打开 bntpool.com/stats 上的 My Stats,粘贴你的 Blocknet 地址或 @name,然后点击 Lookup。页面会显示你的算力、被接受和被拒绝的份额、预估、已确认和已支付的余额、算力图表、每台矿机一行的列表,以及你最近的支付。只要标签页开着,它就会自动刷新。

前往 My Stats,输入你提供给 seine 的同一个地址或 Blocknet ID 短名称。像 @name 或 $name 这样的名称会通过 blocknet.id 解析,随后搜索框会显示它对应的完整地址。页面会在该浏览器中记住你上一次的查询,下次打开时你的数据已经在那里了。

My Stats 页面显示什么?

页面分为若干组卡片和表格,每一组回答一个关于你矿机的问题。

Balance(余额)

当你有尚在途中的奖励时,名为 Estimated From Recent Blocks 的表格会列出每个区块的高度、你的预估收益、剩余确认数和找到的时间。每个高度都链接到 Blocknet 区块浏览器上的对应区块,你可以自己核对。PPLNS 收益如何支付一文解释了每个区块的奖励如何分配,以及余额何时支付。

Mining(挖矿)和份额

Mining 卡片显示你当前的 Hashrate(算力)、你自己的矿机为矿池找到的区块数 Blocks Found,以及你开始挖矿的日期 Mining Since。下面是 Shares Accepted(已接受份额)、Shares Rejected(被拒份额)、Reject Rate(拒绝率)和 Avg Difficulty(平均难度)。运行良好的矿机会持续产生被接受的份额,拒绝率接近零。

Hashrate History 以 1h、24h、7d 或 30d 为范围绘制你的算力。较长的范围最适合查看一台矿机是否整夜都在运行。

每台矿机一行

如果你运行多台机器,给每台机器起一个名字,矿池就会分别列出它们,显示算力、被接受和被拒绝的份额,以及最后一个份额的时间。seine 首次运行时会自动选一个名称,即 seine- 加四位数字,你也可以在命令行中自己指定:

./seine --pool-worker rig-01

运行旧版 seine 的矿机会显示 update available 标记,并链接到 seine 发布页面,方便你发现忘记升级的机器。

支付和最近的份额

Recent Payouts 列出每一笔支付到你地址的款项,包括金额、区块浏览器上的交易链接,以及 queued(排队中)、unconfirmed(未确认)或 confirmed(已确认)状态。Recent Shares 显示你最近 20 个份额的任务、矿机、难度和状态,这是确认刚启动的机器已经连上矿池的最快方法。

为什么矿池的算力和 seine 的不一样?

seine 统计的是你的机器算出的每一个哈希。矿池只能看到你提交的份额,因此它根据最近一小时内你被接受份额的总难度来估算算力。每个份额都是随机事件,而 bntpool.com 为每个连接设置的难度目标大约是每 5 分钟 10 个份额,所以短时间窗口会有一些波动。

两个习惯可以让数字对得上:

即使算力数字还没稳定,Recent Shares 表格也能立即告诉你份额正在到达。

哪些公开页面展示整个矿池?

这些页面无需查询,公开展示矿池所做的一切。仪表盘汇集了主要数字:在线矿工数、矿池和全网算力、已找到的区块数和平均幸运值。

Blocks(区块)

Blocks 按从新到旧列出 bntpool.com 找到的每一个区块:高度(链接到区块浏览器)、奖励、Effort(努力值)、本轮用时、状态和找到的时间。可以按 Confirmed、Pending 或 Orphaned 筛选,查看每个区块的状态。

Payouts(支付)

Payouts 列出每一批支付的总金额、获得支付的矿工数、交易链接和状态。一批支付广播后立即显示为 unconfirmed,在第一个区块确认后不久变为 confirmed,所以你可以从矿池这一侧和区块浏览器上跟踪自己的付款。

Luck(幸运值)

Luck 显示每一轮的 Effort。Effort 是本轮矿池接受的份额工作量除以该区块的难度:100% 表示区块正好用了预期的工作量,更低则表示矿池更早找到了它。单轮数值上下波动很大,所以应关注仪表盘上的 Average Luck(平均幸运值)。仪表盘的 Pool Luck History 表格通过 View All 链接到这里。

Status(状态)

Status 是矿池自己的健康页面。它显示矿池、公共 HTTP、API、Stratum、数据库和节点是否在线,当前任务模板的新鲜程度,链高度,最近 10 分钟、6 小时、24 小时和 7 天的在线率,以及事件历史。在线率有两种测量方式:矿池服务器上的监控程序,以及运行在 Cloudflare 上的外部探测。

如何使用 bntpool.com 的 API?

简短回答

bntpool.com 的 API 是通过 HTTPS 提供的公开 JSON,无需密钥。调用 https://bntpool.com/api/miner/ 加上你的地址,可获得你的算力、矿机、份额和支付;加上 /balance 获取余额;用 /api/stats 获取矿池和全网算力。金额以最小单位表示:除以 100,000,000 即为 BNT。

上面每个页面都读取这些接口,所以你在网站上看到的任何内容都可以自己获取:

接口 返回内容
/api/stats 在线矿工数、矿池算力、已找到区块数、全网算力、当前高度
/api/stats/history?range=24h 矿池算力随时间的变化(1h、24h、7d、30d)
/api/stats/insights 当前轮次、平均努力值、最近的轮次
/api/info 矿池设置:Stratum 端口、支付方式和窗口、最低支付额
/api/blocks?status=confirmed 已找到的区块,可按状态筛选
/api/payouts/recent 支付批次及交易哈希
/api/luck 每一轮的努力值和用时
/api/status 服务健康状况、在线率窗口、事件
/api/miner/{address} 你的算力、总计、矿机、最新份额、支付
/api/miner/{address}/balance 预估、已确认和已支付余额
/api/miner/{address}/hashrate?range=24h 你的算力历史

列表接口接受 limit(默认 25,最多 200)和 offset 参数,返回 items 和 total。矿工接口需要完整地址,所以在 My Stats 上用 @name 查询后,请从搜索框复制完整地址。

在终端中读取你的矿机数据:

curl -s https://bntpool.com/api/miner/YOUR_ADDRESS

配合 jq 可以提取单个数值,例如你的算力和被接受的份额,或以 BNT 表示的已支付总额:

curl -s https://bntpool.com/api/miner/YOUR_ADDRESS | jq '{hashrate, total_accepted, total_rejected}'
curl -s https://bntpool.com/api/miner/YOUR_ADDRESS/balance | jq '.balance.paid / 100000000'

在家庭仪表盘上显示你的矿机

同一个接口可以作为家庭仪表盘中的传感器。在 Home Assistant 中,RESTful 集成只需在 configuration.yaml 中写几行即可读取它:

rest:
  - resource: https://bntpool.com/api/miner/YOUR_ADDRESS
    scan_interval: 60
    sensor:
      - name: "bntpool hashrate"
        value_template: "{{ value_json.hashrate | round(2) }}"
        unit_of_measurement: "H/s"
      - name: "bntpool accepted shares"
        value_template: "{{ value_json.total_accepted }}"

每 30 到 60 秒轮询一次就足够了:算力数字是一小时的平均值,而 My Stats 本身每 30 秒刷新一次你的矿工详情。公开 API 按客户端限制请求频率。如果脚本收到 HTTP 429 响应,应当放慢请求,等待 Retry-After 头给出的时间后再重试。

seine 自己的仪表盘呢?

矿池显示的是它记入你名下的数据。若要实时查看机器本身,seine 的终端仪表盘会即时显示算力和份额;seine 还可以开启本地控制 API,提供 REST、服务器推送事件流以及位于 /metrics 的 Prometheus 指标,默认绑定到 127.0.0.1:9977。控制 API 指南介绍了相关参数和接口。许多矿工两者都用:用 seine 的指标查看每台机器,用矿池 API 查看余额和支付。

第一次使用 seine?下载它,使用默认矿池,在你的第一个份额被接受后几分钟内,你的地址就会出现在 My Stats 上。

常见问题

为什么 bntpool.com 上的算力和 seine 显示的不一样?

seine 统计的是你的机器算出的每一个哈希,而矿池只能根据它接受的份额难度来估算你的算力,并取最近一小时的平均值。份额到达的时间是随机的,所以矿池的数字波动更大,需要一段时间才能稳定。要公平比较,请用 My Stats 上的 24 小时图表对比 seine 的平均算力。

可以用 @name 查询我在 bntpool.com 的统计吗?

可以。在 My Stats 的搜索框中输入你的 Blocknet ID 短名称,例如 @name 或 $name。页面会通过 blocknet.id 解析它,显示你的统计,并把解析出的完整地址填入搜索框。在脚本中调用矿池 API 时,请使用这个完整地址。

bntpool.com 的 API 需要 API 密钥吗?

不需要。矿池统计、区块、支付、幸运值、状态以及单个矿工的接口都是通过 HTTPS 提供的公开 JSON,curl 命令或家庭仪表盘无需注册即可读取。金额以最小单位表示,除以 100,000,000 即为 BNT,建议每 30 到 60 秒轮询一次。

为什么 My Stats 显示的 Estimated Rewards 是零?

矿池在你的份额处于支付窗口内时找到区块,Estimated Rewards(预估收益)才会出现。对新矿工来说,这可能需要挖几轮。你被接受的份额和算力会最先显示,随后是预估收益,它们成熟后转入 Confirmed Rewards(已确认收益),并自动支付。