接入

在这里挖矿意味着运行你自己的网关:你的地址按你在结算窗口中的工作量比例,直接写入矿池发现的任何区块的 coinbase。矿池从不持有你的资金,也无需创建账户。

本链使用 BLAKE2b 挖矿,而不是 SHA256d。

Bitcoin Knots 硬分叉替换了工作量证明,网关通过 Stratum v1 的 Siacoin 变体提供这些区块头。因此硬件是 BLAKE2b 硬件,也就是为 Siacoin 销售的那种。SHA256d 比特币 ASIC 无论指向哪里都完全无法挖这条链。

第 1 步

你的矿机

BLAKE2b 硬件

Stratum v1

第 2 步

一个网关

在 Bitcoin Knots 节点旁

DATUM,加密

第 3 步

本矿池

ratum-prime

中间这一跳由你自己运行:把矿机直接指向矿池自身的端口是行不通的,因为矿池实现的是 DATUM,不是 stratum。

运行自己的网关

网关是一个在你自己节点旁运行的小程序。它向节点请求区块模板,向你的硬件提供 stratum,并通过加密的 DATUM 协议连接矿池。你挖的每个区块中的交易都由你选择。

开始之前

  • 一个带 BLAKE2b 更改的 Bitcoin Knots 节点,已同步,且网关能访问其 RPC。原版 Bitcoin Core 节点验证的是另一条链,无法使用。在节点的模板列出 !blake2b 规则之前,网关根本不会分发任何工作。
  • 版本匹配。区块头哈希在节点、矿池和网关之间是按字节耦合的,因此三者必须一起升级。请运行 ratum-gateway 0.1.23 或更新版本(更早的版本把 coinbase 限制在约 17 个输出,会把矿池分配的一部分留给运营者手动结清),或者 CONVOY 网关自 2026 年 9 月 3 日合并 BLAKE2b 之后的 master 分支。
  • 本链上的一个收款地址,以及一个你的硬件能够访问的端口。

1 · 获取网关

每个发布版本都附有 x86-64 和 aarch64 Linux 以及 Windows 的预编译二进制文件。本矿池也接受 CONVOY DATUM 网关,其 master 分支自 2026 年 9 月 3 日起挖 BLAKE2b。两者读取同一个配置文件,各自忽略不认识的键,因此互相切换只需替换可执行文件。

2 · 编写 gateway.json

CONVOY 网关自带的示例,已填入本矿池的 datum 块。需要编辑三行,二级标签由你自选。

  • bitcoind.rpcuser 和 rpcpassword 是你节点的 RPC 凭据,rpcurl 是它的监听地址。bitcoind.rpccookiefile,即节点 .cookie 文件的路径,在两种网关上都可以代替这两项凭据。
  • mining.pool_address 是你的地址。矿机没有发送自己的地址时就付给它,因此它必须在本链上有效。
  • mining.coinbase_tag_secondary 是矿池显示在你身份标识旁的标签;生成的示例中的“DATUM User”在这里只是占位符,ratum-gateway 默认留空。coinbase_tag_primary 在矿池模式下被矿池自己的标签替换,只对单独挖出的区块有效。
  • stratum.require_address_username: true 是 ratum-gateway 新增的键:启用后,网关在授权时拒绝地址部分不是地址的用户名。上方没有列出它,因为 CONVOY 网关会忽略它;在那里,裸工人名会到达矿池并以 BadUsername 被拒绝。
  • datum.pool_pubkey 是本矿池的身份,你的网关据此校验矿池的握手签名。上方已从运行中的矿池填入;在信任它之前,请与运营者公布的值比对。留空时 CONVOY 网关会获取对端提供的任何密钥而不做校验,所以请保持填写。
  • pooled_mining_only 让你的硬件在矿池无法连接时闲置,而不是单独挖矿。
  • 这个块就是 datum_gateway --example-conf 打印的内容,键、顺序和占位符完全相同,另外在 datum 块中加入了 pool_host、pool_port 和 pool_pubkey,并用占位符替换了默认的二级标签;datum_gateway -? 对每个键都有说明。ratum-gateway 没有这个参数,读取的是同一个文件,并在启动时提示 log_rotate_daily 对它无效。api.listen_port 在 7152 端口提供网关自己的状态页;设为 0 可关闭。

3 · 运行,然后把矿机指向它

ratum-gateway -c gateway.json

它连接矿池,等待节点的模板,并在端口 23334 提供 stratum。把你的硬件指向 stratum+tcp://your-host:23334,并把每台矿机的收款地址作为其用户名。

用户名与收款人

矿池把工作量记入 stratum 用户名中第一个点之前的部分,该部分必须是本链节点接受的地址。哪个用户名到达矿池由上方配置中的两个设置决定,因此这里也是你决定网关背后的矿机分别收款还是合并收款的地方。

网关设置矿池收到的用户名付给
pool_pass_full_users: true 上方的配置矿机自己的 stratum 用户名,原样不变每台矿机自己的地址,因此同一网关背后的矿机分别收款
pool_pass_workers: true
pool_pass_full_users: false
网关的 pool_address,后接一个点和矿机的用户名网关的地址;工人名仍会到达矿池
两者都为 false仅网关的 pool_address网关的地址;没有工人名到达矿池

两个设置默认都为 true,两者都设置时 pool_pass_full_users 优先,因此未改动的配置会原样转发用户名。以点开头的用户名只是工人名:两种网关都会把它附加到 pool_address 之后。

如果份额被拒绝

矿池在记入每个份额之前都会根据其任务和 coinbase 重建它,不接受的份额会带着原因返回,你的网关会记录下来。以下是值得处理的几种。

代码原因含义
14BadUsername用户名中第一个点之前的部分不是本链节点接受的地址。通常是因为用了裸工人名。
43NoSplit网关挖出的 coinbase 没有支付矿池指定的任何输出。请升级网关:以这种方式提交的工作量不予记入。
25StaleBlock份额的父区块已不再是链顶。每个新区块前后出现少量属于正常。
21HighHash份额未达到分配给它的难度。持续出现 HighHash 表明矿机在处理一个未分配给它的任务。

只读。数据每五秒从矿池快照刷新一次。

iohzrd/ratum