╔════════════════════════════════════════════════════════════════════════════════════════════╗
║ ║
║ ███╗ ███╗ ██████╗ ██████╗ ███╗ ██╗██████╗ ███████╗ █████╗ ███╗ ███╗ ║
║ ████╗ ████║██╔═══██╗██╔═══██╗████╗ ██║██╔══██╗██╔════╝██╔══██╗████╗ ████║ ║
║ ██╔████╔██║██║ ██║██║ ██║██╔██╗ ██║██████╔╝█████╗ ███████║██╔████╔██║ ║
║ ██║╚██╔╝██║██║ ██║██║ ██║██║╚██╗██║██╔══██╗██╔══╝ ██╔══██║██║╚██╔╝██║ ║
║ ██║ ╚═╝ ██║╚██████╔╝╚██████╔╝██║ ╚████║██████╔╝███████╗██║ ██║██║ ╚═╝ ██║ ║
║ ╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═══╝╚═════╝ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝ ║
║ ║
║ what are the miners on this network actually doing? ║
║ ║
╚════════════════════════════════════════════════════════════════════════════════════════════╝
Find the NerdMiners on your network and read their vitals, from the terminal.
pip install moonbeam-miner
moonbeam
No dependencies. Standard library only, so the install cannot fail on someone else's package.
What it does
moonbeam the miners it already knows, polled now
moonbeam scan sweep this subnet and remember what answered
moonbeam watch refresh until you stop it
moonbeam show <ip> everything one miner reported
The first run has nothing saved, so it offers to scan. Anything that
answers is remembered in ~/.moonbeam/miners.json.
# NAME ADDRESS HASHRATE TEMP ACCEPTED UPTIME
------------------------------------------------------------------------------
1 Moonbeam-01 192.168.1.42 486 GH/s 54°C 18,422 1d 2h
2 Moonbeam-02 192.168.1.51 — — 31 —
3 192.168.1.77 192.168.1.77 offline
2 miners answering · total 486 GH/s (1 did not report a hashrate)
A dash means the miner did not say
It does not mean zero, and it is never a plausible number standing in for one that never arrived. A fabricated hashrate that looks real is worse than a visible gap, because nothing tells you it is wrong. The summary line counts how many devices declined to report rather than quietly averaging them in.
What it talks to
ESP-Miner and AxeOS devices — NerdMiner, Bitaxe and relatives — answer on
http://<ip>/api/system/info. Discovery probes every host on your /24
concurrently and keeps whatever responds with that shape.
Use it as a library
The polling core is separate from the terminal output, so a GUI can share it:
from moonbeam import scan, poll
for m in scan():
print(m["alias"], m["hashrate"])
╔════════════════════════════════════════════════════════════╗
║ ║
║ ███████╗ ██╗ ██╗███████╗██╗ ██╗███████╗ ║
║ ██╔════╝ ██║ ██╔╝██╔════╝╚██╗ ██╔╝██╔════╝ ║
║ █████╗ █████╗█████╔╝ █████╗ ╚████╔╝ ███████╗ ║
║ ██╔══╝ ╚════╝██╔═██╗ ██╔══╝ ╚██╔╝ ╚════██║ ║
║ ██║ ██║ ██╗███████╗ ██║ ███████║ ║
║ ╚═╝ ╚═╝ ╚═╝╚══════╝ ╚═╝ ╚══════╝ ║
║ ║
║ · C R E A T I V E · ║
║ ║
║ ──────────────────────────────────────── ║
║ ║
║ Vincent Gonzalez ║
║ f-keys.com ║
║ ORCID 0009-0005-3640-014X ║
║ ║
╚════════════════════════════════════════════════════════════╝
Part of F-Keys — independent hardware, software and internet products. See the working log and live status.
Metadata
Release files for moonbeam-miner 1.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| moonbeam_miner-1.0.2.tar.gz | 9.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| moonbeam_miner-1.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 18.9 kB
Release files / moonbeam_miner-1.0.2.tar.gz
| Download URL | moonbeam_miner-1.0.2.tar.gz |
|---|---|
| Size | 9.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3981d82b84bf37310a04a8c7832beebf7ebda0938da9d33e9ed332d87561ea9e
|
|
BLAKE2b-256 checksum How to use checksums |
8002a3f9ac36a2f1fa692e0d1d649f3c4188a3eb48110849be14c5e6fd59c71d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.14
|
Release files / moonbeam_miner-1.0.2-py3-none-any.whl
| Download URL | moonbeam_miner-1.0.2-py3-none-any.whl |
|---|---|
| Size | 9.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
eb5bd1f4784d0744bf013ecef5fe8bc658b15c6e19a58a82dd2e29ce27cd6581
|
|
BLAKE2b-256 checksum How to use checksums |
0675b5748a6147240399559688075348fb869ff332eec83c0185395f53c768ae
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.14
|