terminal
CLI 矿工软件介绍
ABCMint Logo

ABCMint CLI Miner

基于 MQ 抗量子签名算法的高性能命令行挖矿软件

CUDA GPU 加速 Stratum 协议 C++17 Linux GPLv3 开源

支持 CPU 多线程与 NVIDIA CUDA GPU 并行挖矿,采用 Rainbow 算法求解多元二次方程组(MQ),实现后量子密码学挖矿。

向下滚动查看源码 ↓

核心特性

专业的工程化设计,从 GPU 并行到协议实现

bolt

CUDA GPU 并行

自动检测多 GPU 设备,线程均匀分配。CUDA 核函数并行求解 MQ 方程组,单次启动 2^(N-K) 线程。

link

Stratum 协议

完整实现 JSON-RPC over TCP 协议,支持 subscribe / authorize / submit 全流程,断线自动重连。

monitoring

MP/s 实时统计

每 10 秒输出 Million Solves/sec 算力,与 abcscan.io 全网算力单位一致,可直接对比算力占比。

lock

后量子安全

支持 UOV / Rainbow 多变量签名算法(nHeight ≥ 267120 硬分叉后启用),提供抗量子级别的密码学保障。

Stratum 协议流程

矿工与矿池的完整通信链路

mining.subscribe
订阅任务
获取 extranonce1
mining.authorize
认证矿工
绑定钱包地址
mining.notify
推送任务
coinbase + merkle
mining.submit
提交份额
nonce + extranonce2
① subscribe → 矿工订阅,矿池分配 extranonce1(4字节,唯一标识客户端)
② authorize → 首次连接时密码字段填写钱包地址,矿池自动注册并绑定用户名
③ notify → 矿池推送任务(jobId, prevHash, coinbase1/2, merkleBranches, nBits, height)
④ submit → 矿工求解方程组后提交 nonce,矿池验证并记录份额
seedHash = Hash256(prevHash XOR merkleRoot) → MQ 方程组求解

运行效果演示

CLI 矿工启动后的终端输出(模拟)

terminal — abcmint-miner-cuda-v0.1.0

UOV 算法原理

Unbalanced Oil and Vinegar — 后量子多变量签名算法

key核心思想

UOV 由 Patarin 于 1999 年提出,基于 多变量二次多项式方程组(MQ 问题)的难解性。 私钥包含一组特殊结构的油变量(Oil)和醋变量(Vinegar),公钥是混合后的多项式。

function数学结构

公式:P(o, v) = Σ a·oᵢ·oⱼ + Σ b·oᵢ·vⱼ + Σ c·vᵢ·vⱼ + d
签名时随机选 Vinegar 值,解线性方程组求 Oil;验证只需代入公钥多项式检查等式成立。

shield抗量子安全

MQ 问题被公认即使对量子计算机也难以求解。abcmint 在 nHeight ≥ 267120 硬分叉后启用 RainbowPlus API,支持 UOV SL1/SL3/SL5 三个安全等级。

boltUOV vs Rainbow

UOV = 单层 Oil-Vinegar(O2=0),结构更简单、更安全
Rainbow = 多层(O2>0),密钥更小但 2022 年 Ward Beullens 破解了低安全等级参数
abcmint 当前支持两种算法并存,用户可按需选择。

warning 注意:挖矿 PoW 使用 MQ 方程组穷举求解(exfes),与 UOV/Rainbow 签名算法属于不同环节。 UOV/Rainbow 用于交易签名(全节点钱包签名交易时使用)。
src/main.cpp

挖矿核心线程

seedHash 计算 → MQ 方程组求解 → 份额提交

main.cpp — miningThread()
src/gpumining.cu

CUDA GPU 求解

GPU 核函数并行求解 MQ 方程,De Bruijn 位扫描优化

gpumining.cu — check_thread() & GPUSearchSolution()
src/stratum_client.cpp

Stratum 协议实现

JSON-RPC 协议构建与消息解析

stratum_client.cpp — buildJsonRpc()
src/miner_kernel.h

核心API 接口

求解器接口设计与算法分叉支持

miner_kernel.h — SerchSolution() & CheckSolution()
src/main.cpp

程序入口架构

参数解析 → GPU 初始化 → 多线程调度 → 自动重连

main.cpp — main() & GPU 初始化

常见问题

FAQ — 使用过程中可能遇到的问题与解决方案

chevron_right help 连接矿池失败,提示 "Connection refused" 或 "Host unreachable" 怎么办?

1. 检查网络连接是否正常

2. 确认矿池地址和端口正确:主网 mqscan.io:3334,测试网 mqscan.io:3335

3. 检查防火墙是否放行出站连接

4. 矿池维护期间可能暂时不可达,请稍后重试(客户端会自动重连)

chevron_right help 算力显示 0 MP/s 或明显偏低怎么排查?

1. 确认 CUDA 设备被正确识别(日志应显示 [GPU] Device 0: ...

2. 检查 nvidia-smi 是否正常,GPU 温度是否过高(>85°C 会降频)

3. 确认没有其他程序占用 GPU(如显示器、游戏、AI 推理)

4. 等待至少 10 秒,算力统计需要累积足够的求解次数

chevron_right help 如何切换或更新绑定钱包地址?

用户名一旦绑定钱包地址后不可修改,这是为了防止奖励被劫持。

如需更换钱包地址,请使用新的用户名重新连接矿池,旧用户名的历史份额和待支付余额将保留在原地址。

钱包地址必须以 8 开头(主网)或 q/r 开头(测试网)。

chevron_right help 提交份额一直显示 "invalid share" 怎么办?

1. 确认矿工软件版本与矿池兼容(建议使用最新版本)

2. 检查系统时间是否准确(时间偏差过大会导致 nTime 被拒)

3. 可能是 GPU 显存不稳定导致计算错误,尝试降低 GPU 频率或增加散热

4. 如果所有份额都 invalid,可能是 nonce 编码问题,请提交 issue

chevron_right help 为什么我的待支付余额迟迟没有到账?

矿池采用 PPLNS 分配模式,奖励触发需要满足以下条件:

1. 区块成熟(需 120 个确认

2. 矿工待支付余额达到最低提现阈值 50 ABC

3. 矿池有足够的成熟余额可用于下发

4. 全节点签名功能正常(测试网在 height < 267120 时签名算法有限制)

满足所有条件后,矿池会在下一次 payout 周期自动下发。

chevron_right help GPU 版本和 GUI 版本有什么区别?

GPU 版本(CLI):命令行界面,原生全节点移植的 CUDA 实现,支持 NVIDIA 并行加速,适合服务器和高级用户。

GUI 版本:图形界面,开箱即用,自动识别显卡、托盘运行、可选开机自启,适合桌面用户和新手。

GPU 版本为纯 CUDA 实现,只能使用 NVIDIA 显卡,-cuda 只是启用开关、并无 off 取值;未检测到 NVIDIA 显卡时程序会直接报错退出,不会虚报算力。

下载矿工软件

选择适合你的版本

Windows GUI
图形界面 · v0.1.0

图形界面矿工,开箱即用:自动识别显卡、托盘运行、可选开机自启

下载安装版
Windows 10 / 11 x64 · 免安装 .NET
命令行版
OpenCL 加速 · v0.1.0

命令行矿工,OpenCL 内核,AMD / Intel / NVIDIA 通用,多卡自动分配

Windows x64
Windows / Linux · 免安装 .NET · 无需 CUDA Toolkit
命令行版
CUDA 加速 · Linux 首推

原生全节点移植的 CUDA 加速版,Linux 首推;同卡实测算力高于 OpenCL 内核软件

下载 Linux x86_64 版(tar.gz)
仅 Linux x86_64 · 需 NVIDIA 驱动 · CUDA Runtime 与 OpenSSL 已随包内置
verified_user 文件完整性校验(SHA-256)
下载后建议自行核对哈希,确认安装包在传输过程中未被篡改。
Windows:certutil -hashfile 文件名 SHA256  · Linux:sha256sum 文件名
Super-Miner-Setup-0.1.0.exe (Windows 安装版)
3175114b98f7b737de82f50a87ced282e7a853bdf1851318d0121a5ec3d9dc4d
superminer-win-x64-0.1.0.zip (Windows 命令行版)
4470494888d8be71ae70ee669f95f77295fced5d01981e14eeccfb6b836e3e57
superminer-linux-x64-0.1.0.tar.gz (Linux OpenCL 版)
418966f444d8348036cfcf2b81345c9c3635a67ce0336defc9e29dbed5499a8a
abcmint-miner-cuda-linux-x64-0.1.0.tar.gz (Linux CUDA 版)
96c465e9f0b0eedfd727da7d76a67a0cf23314788ddb19d5d5a9230f05975aba
info Windows 安装提示:安装包暂未做商业代码签名,首次运行时 SmartScreen 可能提示"已保护你的电脑", 点击「更多信息 → 仍要运行」即可继续;也可先用上方 SHA-256 核对文件完整性。
info HiveOS 使用提示:Linux 版为通用 x86_64 程序,需自行安装配置。 目前尚未提供 HiveOS 飞行表(Flight Sheet)适配,批量部署需手动进行。
menu_book源码仓库: GitHub → MQSCAN-abcmint-miner-open-source