NushyPool 下载
在一个页面下载 NushyPool 的 npminer 包,并查看安装说明、命令、平台支持和未来的挖矿工具。
NPMiner
最新发布包高性能多币种 GPU 矿工,支持 CUDA 和 OpenCL 后端。
Linux
npminer-linux-x86_64-v1.0.9.tar.gz
标准 Linux 包。
ba4105f982500f5c05f7c1c5f3ddb23699ae2d2231549e2cdcc62ec597752051mmpOS
npminer-mmpos-linux-x86_64-v1.0.9.tar.gz
mmpOS 包。
128b15697dace3284da6269af05a63f9adb9cb50ded1a65d5b47cf8333a6e32aHiveOS
npminer-v1.0.9.tar.gz
HiveOS 包。
a16793e37bf5bad334cebfe3705d18738d86cedf28fb708a6b23c8e6a4d2d74dWindows
npminer-windows-x86_64-v1.0.9.tar.gz
标准 Windows 包。
a72ab53fcf90000ef6e1635984b29365d1c2f6e05c3089425fc1696a6d309028旧版本 旧软件包会保留用于回滚和兼容性。正常安装请使用上方的最新软件包。 8 个软件包
Linux
npminer-linux-x86_64-v1.0.8.tar.gz
标准 Linux 包。
a2001dc68a447e7a34463ce614cc15eb9ba0affe4f1c9e20bcb8631e180e8f5cmmpOS
npminer-mmpos-linux-x86_64-v1.0.8.tar.gz
mmpOS 包。
17bfe5e2cdb1de1f0020dd3c62a2fc5740d88ffe5bb1aedb82cc1c782f866fa5HiveOS
npminer-v1.0.8.tar.gz
HiveOS 包。
9941d1b009aa58e943df70b452a2b886d559bba065c232d2f4b4704ef10b13bcWindows
npminer-windows-x86_64-v1.0.8.tar.gz
标准 Windows 包。
b972aa04128d91fac9b13c6bbd31db7c23a4ffef26385c904b80dfbf808857e7Linux
npminer-linux-x86_64-v1.0.7.tar.gz
标准 Linux 包。
05c7a1d4ae237de9e1577d9d07db029df6a081a5d324527ec40ce06e5f29d4fdmmpOS
npminer-mmpos-linux-x86_64-v1.0.7.tar.gz
mmpOS 包。
997e7c1874f219e0fb93c27adff6b23612486a1e8de2383ab89b8414924ddd6fHiveOS
npminer-v1.0.7.tar.gz
HiveOS 包。
09e77f0e0b1f57e77c8b5de0669da6f31e7ef0f4fe38bb52f8c4c14696b092a1Windows
npminer-windows-x86_64-v1.0.7.tar.gz
标准 Windows 包。
b764df0166566298267426e564460345502d0d4ca71446dc952b56bb62980185Pearl Stratum Protocol V1 (Pool Integration Spec) Minimal Pearl Stratum JSON-RPC contract for pools that want to accept npminer. Spec
NPMiner uses newline-delimited JSON-RPC over stratum+tcp://host:port. For third-party Pearl pool support,
implement the V1 plain-proof submit path first. The compact submit path is an optional NushyPool fast-path extension.
This is the initial version of the Pearl Stratum protocol used by npminer. We are open to improvements and pool feedback that can help standardize Pearl mining across compatible miners and pools.
1. Login
The miner may send mining.authorize without a prior mining.subscribe, so pools must not require subscribe.
The first authorize parameter is pearl_address or pearl_address.worker.
{"id":1,"method":"mining.authorize","params":["prl1youraddress.worker1"]}
{"id":1,"result":true,"error":null}
2. Pool job
Send Pearl work with mining.notify and object params. header is 76 bytes encoded as 152 hex chars.
target is required and is 32 bytes encoded as 64 hex chars. difficulty and height are optional
metadata fields in V1, but production pools should include both.
{"id":null,"method":"mining.notify","params":{
"job_id":"pearl-00004020abcd_53333",
"header":"<152 hex chars>",
"target":"<64 hex chars>",
"height":4014280,
"difficulty":53333
}}
2.1. Job fields
job_id: required; format: non-empty opaque string, unique among active jobs.
NushyPool uses pearl-<header-prefix>_<difficulty>, for example pearl-00004020abcd_53333,
so logs and stale-share handling show the job family and vardiff. Other pools may use any unique stable string;
the miner only echoes it back in mining.submit.
header: required; format: 152 hex chars representing exactly 76 bytes.
This is the Pearl incomplete block header without the nonce. It contains the block-header bytes used by the Pearl verifier,
including version, previous block hash, merkle root, time, and nBits/compact network target in Pearl's expected wire byte order.
Do not reinterpret it in the miner; send the exact bytes that will be used when validating the submitted plain proof.
target: required; format: 64 hex chars representing a 32-byte big-endian share target.
This is the authoritative V1 share target. The pool and miner must treat a share as valid only if the Pearl proof result
meets this target.
difficulty: optional; format: positive JSON number, preferably an integer.
It is related to target by target = diff1_target / floor(difficulty), clamped to at least 1.
It is included so the miner can report stats, effective hashrate, and vardiff state without reverse-calculating from target.
It is optional because V1 share validation relies on the required target, but if sent it must match the advertised target.
height: optional; format: unsigned integer block/template height.
It is not part of the Pearl hashing path and most Stratum protocols do not require miners to know it.
It is included for diagnostics, stale-job analysis, block-candidate attribution, and easier pool/miner log correlation.
3. Plain-proof share submit
This is the required compatibility path. The pool validates plain_proof against the exact job header and target.
hs is optional miner telemetry in hashes per second; it must not be used as proof validity.
{"id":2,"method":"mining.submit","params":{
"job_id":"pearl-00004020abcd_53333",
"plain_proof":"<base64 Pearl plain proof>",
"hs":110000000000000,
"lpm_shape":{"rows":256,"cols":256,"k":4096,"rank":256}
}}
3.1. Submit fields
job_id: required; format: exact string received in the corresponding mining.notify.
The pool uses it to find the active job, reject stale shares, and validate the proof against the correct header and target.
plain_proof: required; format: base64-encoded Pearl plain proof.
Pools decode it and validate it against the job header and share target.
hs: optional; format: positive JSON number representing miner-reported hashes per second.
This is telemetry only and must not be used to decide whether a share is valid.
lpm_shape: optional; format: object with positive integer rows, cols,
k, and rank. This is npminer diagnostic/compatibility metadata and is not required for
lpminer/SRBMiner compatibility. Pools may ignore it. The decoded plain_proof remains authoritative.
3.2. Plain proof decoding and validation
Decode plain_proof from standard base64, then deserialize the bytes as the Pearl plain-proof structure.
The current V1 proof payload contains m, n, k, noise_rank,
an a matrix proof, and a bt matrix proof. Each matrix proof carries Merkle leaf data,
leaf indices, total leaves, Merkle root, siblings, and selected row indices. Reject malformed base64, truncated data,
trailing bytes, unexpected dimensions, or invalid row/proof layout.
Validation uses the exact 76-byte job header from mining.notify. Derive the Pearl LPM job key
from that header, detect the compatible proof variant from the row-index pattern, extract the selected A rows and B columns
from the Merkle proofs, derive the deterministic noise seeds from the job key and proof roots, add the deterministic noise,
compute the jackpot dot-products, then hash the jackpot with BLAKE3 using the derived A-noise seed.
The resulting jackpot hash is the share hash. Accept the share only if that hash meets the advertised V1 share
target. If your verifier API accepts share difficulty instead of target, pass the same pool difficulty
that was used to build the advertised target. Do not use miner-reported hs or lpm_shape
for validity decisions.
4. Optional compact submit
If a pool supports npminer compact shares, it can accept pearl.compact.v1. The pool reconstructs and validates
the proof from the stored job, nonce, and profile. Unsupported pools should use plain-proof mode.
{"id":3,"method":"mining.submit","params":{
"job_id":"pearl-00004020abcd_53333",
"nonce":"0000000000000042",
"hs":110000000000000,
"pearl_protocol":"pearl.compact.v1",
"profile":"zero_signal_256x256_v1"
}}
4.1. Compact submit fields
job_id: required; format: exact string received in the corresponding mining.notify.
The pool uses it to find the stored job header and reject stale compact shares.
nonce: required; format: 16 hex chars representing an unsigned 64-bit nonce.
The pool combines this nonce with the stored job header and compact profile to reconstruct
the canonical Pearl plain proof or validate the compact share directly.
hs: optional; format: positive JSON number representing miner-reported hashes per second.
This is telemetry only and must not be used to decide whether a compact share is valid.
pearl_protocol: required for compact submit; format: string pearl.compact.v1.
It identifies the submit as the npminer compact extension instead of the V1 plain-proof submit path.
profile: required; format: compact profile string. The currently documented profile is
zero_signal_256x256_v1. Pools should reject unknown profiles unless they can reconstruct and validate
the exact same proof deterministically.
5. Share response
Return the same JSON-RPC id. Accepted shares use {"result":true,"error":null}.
Rejected shares should use result:false or a JSON-RPC error object with a short reason such as stale,
low difficulty, duplicate, or invalid proof.
npminer 支持的功能
- 在 nushypool.com 上 devfee 为 0%
NushyPool 用户挖矿无需开发费。 - Stratum, gRPC, and Xelis RPC
使用统一的--url和--user流程。 - 本地统计 API
为 HiveOS、mmpOS 和兼容 XMRig 的面板提供只读 HTTP 统计。 - NVIDIA 和 AMD GPU
NVIDIA 使用 CUDA,AMD 显卡使用 OpenCL。 - 多 GPU 选择
使用--devices指定--list-gpus输出的 GPU Index。 - Autotune 缓存
调优后的启动设置会在重启后复用。 - 可选自动更新
使用--enable-autoupdate在启动时安全安装较新的已签名版本。 - Watchdog 监控
面向恢复的 worker 启动和监控。
算法
| 币种 | Algo | 后端 |
|---|---|---|
| Vecno | memhash | CUDA / OpenCL |
| Cryptix | cryptix | CUDA / OpenCL |
| Hoosat | hoohash | CUDA / OpenCL |
| Xelis | xelishash | CUDA / OpenCL |
| CapStash | capstash | CUDA / OpenCL |
| Pearl | pearl | CUDA |
Pearl 支持仍处于实验阶段。最佳性能目前仅适用于 NVIDIA Ampere / RTX 30-series GPU;对其他 GPU 架构的支持即将加入。
请使用最新 GPU 驱动以获得最佳稳定性和算力。
Devfee
标记为 0% 的 NushyPool 端点免收 devfee。CapStash 目前会使用列表中的 devfee,直到发布 miner 端豁免为止。在其他兼容 pool 上 mining,或直接对自己的 node 进行 solo mining 时,npminer 会应用下方显示的内置 devfee。
| 币种 | 算法 | 其他 Stratum 矿池 | Solo 直连节点 | NushyPool |
|---|---|---|---|---|
| CapStash | capstash |
2% | 2% via rpc:// |
0% |
| Pearl | pearl |
2% | — | 0% |
| Vecno | memhash |
1% | 1% via grpc:// |
0% |
| Hoosat | hoohash |
1% | 1% via grpc:// |
0% |
| Cryptix | cryptix |
1% | 1% via grpc:// |
0% |
| Xelis | xelishash |
1% | 1% via rpc:// |
0% |
对于 XelisHash,direct-node solo mining 使用 Xelis JSON-RPC 端点,例如 rpc://ADDRESS:PORT。Vecno、Hoosat 和 Cryptix direct-node 示例使用 grpc://ADDRESS:PORT。
矿池挖矿示例
Vecno PPS/Solo pool
./npminer -a memhash -o stratum+tcp://POOL:PORT -u vecno:YOUR_WALLET -w worker1
Hoosat PPS/Solo pool
./npminer -a hoohash -o stratum+tcp://POOL:PORT -u hoosat:YOUR_WALLET -w worker1
Cryptix PPS/Solo pool
./npminer -a cryptix -o stratum+tcp://nushypool.com:40003 -u cryptix:YOUR_WALLET -w worker1
XelisHash PPS/Solo pool
./npminer -a xelishash -o stratum+tcp://nushypool.com:40008 -u xel:YOUR_WALLET -w worker1
CapStash PPS on NushyPool
./npminer -a capstash -o stratum+tcp://nushypool.com:40011 -u cap:cap1YOUR_WALLET -w worker1
列出 GPU
./npminer --list-gpus
选择 GPU
./npminer -a memhash -o grpc://POOL:PORT -u vecno:YOUR_WALLET -d 0,2
Solo 直连节点示例
Vecno gRPC
./npminer -a memhash -o grpc://127.0.0.1:7110 -u vecno:YOUR_WALLET
Hoosat gRPC
./npminer -a hoohash -o grpc://127.0.0.1:42420 -u hoosat:YOUR_WALLET
Cryptix gRPC
./npminer -a cryptix -o grpc://127.0.0.1:19201 -u cryptix:YOUR_WALLET
XelisHash RPC
./npminer -a xelishash -o rpc://127.0.0.1:8080 -u xel:YOUR_WALLET
CapStash RPC
./npminer -a capstash -o rpc://127.0.0.1:8332 -u cap1qYOUR_WALLET --rpc-user RPC_USER --rpc-pass RPC_PASSWORD
Vecno 风格 direct-node mining 使用 grpc://。XelisHash direct-node mining 使用 rpc://host:port[/json_rpc]。--devices 使用 --list-gpus 输出的 GPU Index,而不是 Bus ID。
CapStash: Solo mining CapStash directly to your own node uses rpc://host:port. Add --rpc-user and --rpc-pass if your node requires RPC authentication. For NushyPool Solo, use stratum+tcp://nushypool.com:45011 instead.
API 参考
npminer 提供本地只读 HTTP API,供 HiveOS、mmpOS 和兼容 XMRig 的监控工具使用。独立运行时 API 默认关闭,直到你启用它;HiveOS 和 mmpOS 包默认启用 localhost。
启用 API
使用 --api-port 在 localhost 启动 API。mining OS 默认端口是 42330,并且 --api-disable 始终优先。
./npminer -a memhash -o stratum+tcp://nushypool.com:50010 -u vecno:YOUR_WALLET -w Hashvilly --api-port 42330
兼容 XMRig 的参数
现有 dashboard 可以使用 --http-enabled、--http-host、--http-port 和 --http-access-token 别名。npminer v1 API 为只读;--http-no-restricted 会作为 no-op 接受。
./npminer -a xelishash -o stratum+tcp://nushypool.com:40008 -u xel:YOUR_WALLET -w Hashvilly --http-enabled --http-port 42330
安全默认值
API 默认绑定到 127.0.0.1。绑定到其他地址需要 --api-token,客户端必须发送 Authorization: Bearer TOKEN。
| 选项 | 描述 |
|---|---|
--api-port <PORT> | 在选定端口启动本地 HTTP stats API。 |
--api-bind <ADDR> | API listener 的绑定地址。默认是 localhost。 |
--api-token <TOKEN> | 用于保护 API 响应的 Bearer token。非本地绑定时必须设置。 |
--api-disable | 禁用 API,包括 mining OS 包通常会启用它的情况。 |
--api-worker-id <ID> | 覆盖 API 响应中显示的 worker ID。 |
--api-id <ID> | 覆盖 API 响应中显示的 miner 实例 ID。 |
--http-enabled, --http-host, --http-port, --http-access-token | 面向已支持 miner HTTP flags 的监控软件的 XMRig 兼容别名。 |
--http-no-restricted | 为 CLI 兼容而接受。npminer v1 不提供写入或控制 endpoints。 |
| Endpoint | 响应 |
|---|---|
/npminer/v1/health | 小型 health 响应,包含 uptime、算法和 snapshot 状态。 |
/npminer/v1/stats | 完整 npminer native stats,包括总 hashrate、每设备 telemetry、shares、difficulty、mode、URL 和 snapshot age。 |
/npminer/v1/hiveos | 面向 mining OS 集成的 HiveOS 格式 stats JSON。 |
/npminer/v1/mmpos | 面向 mining OS 集成的 mmpOS 格式 stats JSON。 |
/2/summary, / | 面向常见监控 dashboard 的 XMRig 形式 summary 响应。 |
/2/backends | XMRig-style backend 和每 GPU thread 响应。 |
/1/summary, /1/threads | 面向较旧 XMRig-style 客户端的兼容别名。 |
查询示例
curl http://127.0.0.1:42330/npminer/v1/stats curl http://127.0.0.1:42330/2/summary curl -H "Authorization: Bearer YOUR_TOKEN" http://127.0.0.1:42330/npminer/v1/stats
命令参考
npminer -h 的输出。
npminer version
NushyPool Miner is high performance GPU miner
USAGE:
npminer [OPTIONS]
OPTIONS:
-a, --algo <ALGO> Mining algorithm to use (supported: memhash, hoohash, cryptix, xelishash, capstash)
--api-bind <API_BIND> HTTP stats API bind address [default: 127.0.0.1] [aliases: http-host]
--api-disable Disable the HTTP stats API even when a mining OS integration enables it
--api-id <API_ID> Custom instance ID reported by the HTTP stats API
--api-port <API_PORT> Enable the local HTTP stats API on this port [aliases: http-port]
--api-token <API_TOKEN> Bearer token for HTTP stats API access; required when binding outside localhost [aliases: http-access-token]
--api-worker-id <API_WORKER_ID> Custom worker ID reported by the HTTP stats API
--cuda-device <CUDA_DEVICE> Comma separated list with CUDA GPUs to use (example: --cuda-device 2,3 or --cuda-device=2,3) [default: all]
--cuda-disable Disable CUDA workers
--cuda-lock-core-clocks <CUDA_LOCK_CORE_CLOCKS> Lock core clocks eg: ,1200, [default: 0]
--cuda-lock-mem-clocks <CUDA_LOCK_MEM_CLOCKS> Lock mem clocks eg: ,810, [default: 0]
--cuda-no-blocking-sync Actively wait for result. Higher CPU usage, but less red blocks. Can have lower workload.
--cuda-nonce-gen <CUDA_NONCE_GEN> The random method used to generate nonces. Options: (i) xoshiro (ii) lean [default: lean] [default: lean]
--cuda-power-limits <CUDA_POWER_LIMITS> Lock power limits eg: ,150, [default: 0]
--cuda-workload <CUDA_WORKLOAD> Ratio of nonces to GPU possible parallel run for CUDA, optionally comma-separated per device [default: 128] [default: 128]
--cuda-workload-absolute The values given by workload are not ratio, but absolute number of nonces [default: false]
-d, --devices <DEVICES> Comma separated GPU Index values from --list-gpus, not Bus ID [default: all] [aliases: device]
--enable-autoupdate Automatically download and restart into a newer npminer release when one is available
-h, --help Print help information
--http-enabled Enable the HTTP stats API using the default API port
--http-no-restricted Accepted for XMRig CLI compatibility; npminer v1 API remains read-only
--list-gpus List detected GPUs and exit
--mine-when-not-synced Mine even when node says it is not synced
-o, --url <URL> Mining server URL for stratum, grpc, or RPC (e.g. stratum+tcp://host:port, grpc://host:port, rpc://host:port)
--opencl-amd-disable Disables AMD mining (does not override opencl-enable)
--opencl-device <OPENCL_DEVICE> Comma separated list with OpenCL GPUs to use on a specific platform
--opencl-no-amd-binary Disable fetching of precompiled AMD kernel (if exists)
--opencl-nonce-gen <OPENCL_NONCE_GEN> The random method used to generate nonces. Options: (i) xoshiro (ii) lean [default: lean]
--opencl-platform <OPENCL_PLATFORM> Which OpenCL platform to use (limited to one per executable)
--opencl-workload <OPENCL_WORKLOAD> Ratio of nonces to GPU possible parallel run for OpenCL [default: 128] [default: 128]
--opencl-workload-absolute The values given by workload are not ratio, but absolute number of nonces in OpenCL [default: false]
-p, --pass <PASS> Standard stratum mining CLI worker password (stratum only)
--reset-autotune Delete cached autotune/JIT state and force fresh autotuning before startup
--rpc-pass <RPC_PASS> RPC password for direct-node solo mining when the node requires authentication
--rpc-user <RPC_USER> RPC username for direct-node solo mining when the node requires authentication
--testnet Use testnet for solo grpc mining
-u, --user <USER> Mining wallet/address for stratum, grpc, or RPC (for example vecno:... or vecno:....worker)
-v, --version Print version information
-w, --worker <WORKER> Standard stratum mining CLI worker name (stratum only)
Examples:
npminer --algo memhash --url stratum+tcp://pool:50010 --user vecno:... --worker Hashvilly
npminer --algo hoohash --url grpc://127.0.0.1:7110 --user hoosat:...
npminer --algo cryptix --url stratum+tcp://nushypool.com:40003 --user cryptix:... --worker Hashvilly
npminer --algo xelishash --url stratum+tcp://nushypool.com:40008 --user xel:... --worker Hashvilly
npminer --algo xelishash --url rpc://127.0.0.1:8080 --user xel:...
npminer --algo capstash --url stratum+tcp://nushypool.com:40011 --user cap:cap1... --worker Hashvilly
npminer --algo capstash --url rpc://127.0.0.1:8332 --user cap:cap1... --rpc-user RPC_USER --rpc-pass RPC_PASSWORD
npminer --algo xelishash --url stratum+tcp://nushypool.com:40008 --user xel:... --worker Hashvilly --api-port 42330
npminer --algo xelishash --url stratum+tcp://nushypool.com:40008 --user xel:... --worker Hashvilly --http-enabled
HTTP API examples:
curl http://127.0.0.1:42330/npminer/v1/stats
curl http://127.0.0.1:42330/2/summary
curl http://127.0.0.1:42330/2/backends



