跟随一份任务从 bntpool.com 到 seine,再看份额如何返回矿池。理解这段对话,有助于读懂连接消息、任务更新和提交响应。本指南描述 bntpool.com 的实现;首次设置端点和收款地址,请看矿池设置指南。
挖矿中的 Stratum 是什么?
Stratum 是矿工接收矿池工作并提交结果的通信层。seine 和 bntpool.com 使用持续 TCP 连接承载登录、任务和份额的 JSON 消息。你的机器在本地计算哈希,矿池从节点获取区块模板并处理提交的工作。
矿工发送登录和份额,接收任务及响应;矿池与节点交换模板及候选区块。
端点指定挖矿连接
文档中的端点是 stratum+tcp://bntpool.com:3333。协议方案告诉程序采用哪种传输,主机名标识服务,端口选择挖矿监听器。浏览器的 https://bntpool.com 连接用途不同。从 Get Started 复制完整挖矿端点到矿池设置,让客户端打开预期连接。
持续连接让双方在有工作时发送消息。bntpool 使用换行分隔的 JSON,并用请求 ID 关联请求与响应。这是该矿池的通信格式;矿工除了支持 Blocknet 哈希算法,还必须支持格式及其能力。协议源码记录了当前字段。
矿工登录时会发生什么?
客户端发送 login 请求,包含收款地址、矿机名称、协议版本和支持的能力。矿池检查后返回协议资料和必需能力,由此确定会话如何交换工作。TCP 连接成功是第一步;登录被接受表示应用层对话也已开始。
矿机名称用于区分同一地址下不同机器的活动。多机使用不同名称,并保持预期收款地址。登录需要的是接收地址,不是钱包恢复短语或私有支出密钥。会话获准且有工作时,矿池发送 job 消息,让矿工开始计算。
挖矿任务包含什么信息?
任务包含分配和底层模板的标识符、头部数据、区块高度、份额目标、网络目标和分配的 nonce 范围。nonce 是哈希尝试时不断改变的值,范围规定会话的搜索空间。任务 ID 让矿池把后续提交对应到最初分配的工作和条件。
份额目标决定哪些结果应作为工作证据提交;网络目标决定哪些结果可成为候选区块。大多数合格份额用于矿池账务,并不会成为区块。难度指南解释目标大小与预期工作量的关系;协议将这些目标作为任务的一部分交给矿工。
连接保持时,任务也会变化
新任务本身并不意味着矿工断线。上游模板变化时矿池可以更新工作,也可以下发带有新份额难度的分配。可变难度系统按观察到的工作流调整提交门槛。矿工遵循新任务,而持续连接继续双向传递消息。
读技术日志时请区分任务 ID 与模板 ID。多个分配可以引用同一模板,但具有不同会话细节。单凭高度不能描述每项工作变化。一般操作只需确认任务到达、哈希计算推进、提交收到响应;跟踪指南说明哪里查看活动。
份额提交包含什么?
找到合格结果后,seine 发送 submit,标明任务、nonce 和声明的哈希。矿池利用分配上下文处理,并返回与请求 ID 对应的响应。声明值是消息的一部分,后续结果由矿池验证及区块校验流程决定。候选区块会提交给 daemon 进行验证。
响应可能报告接受状态、验证状态和难度信息。请把它们作为独立字段阅读,不要把每个成功响应都视为发现区块。矿池记账和支付发生在这段消息交换之外。份额结果指南解释提交结果,PPLNS 指南解释合格工作与奖励、支付的关系。
如何按这个顺序检查矿工?
依次查看:到达端点、登录获准、收到任务、哈希运行、提交获答。连接丢失后,客户端会重新连接并建立会话,再接收更多工作。使用准确日志内容和时间戳定位相关阶段。矿池网页正常可提供参考,但不能证明该机器能访问挖矿端口。
为预期收款地址打开 My Stats,并查看矿池状态了解服务情况。启动或重连后,给基于份额的算力估计留出积累样本的时间。通信与支付时机要分开:登录准备会话,任务提供工作,份额报告结果,之后的奖励阶段由矿池账务决定。
常见问题
Stratum 在矿池挖矿中有什么作用?
它承载矿工与矿池间的对话,包括识别挖矿会话、分发工作、提交份额及返回响应。矿工在本地计算哈希,矿池将工作连接到上游节点,并维护支付方案需要的账务。
Stratum 地址和网站地址一样吗?
它们服务于不同连接。bntpool.com 网站使用 HTTPS 提供页面与 API 数据,文档中的挖矿端点是 stratum+tcp://bntpool.com:3333。请把挖矿端点填入矿工的矿池设置。仅能打开网站并不等于已建立挖矿连接。
Stratum 份额被接受是否表示已付款?
不是。份额响应说明会话内的一次提交结果。验证、网络有效区块、奖励资格与支付完成是不同阶段。请在 My Stats 查看活动,并通过支付指南了解确认数、PPLNS 和支付门槛。