A Scrypt proof-of-work / proof-of-stake hybrid cryptocurrency — a 2014-era Bitcoin / Peercoin / Novacoin fork, modernized to build and run on a current toolchain.
Download · Build from source · Specifications · Documentation
HoboNickels is a self-mintable PoS coin: hold coins in an unlocked wallet and it stakes them to earn rewards and secure the network. This repository is a modernization of the original 2014 client — the consensus rules (signatures, addresses, hashing, the kernel) are byte-for-byte unchanged and fully network-compatible, while everything around them was brought up to date:
- 🛠️ Modern toolchain — Ubuntu 24.04 · GCC 13 · OpenSSL 3 · Boost 1.83 ·
Berkeley DB · Qt 5, built with CMake (the old autotools/
.prosystem is retired). - ⚡ Instant & faster sync — automatic P2P snap-sync brings a fresh node up in seconds; classic sync is headers-first, multi-peer, and height-windowed (~5–9× faster IBD), with a profiled fix to an O(height²) checkpoint walk and redundant scrypt re-hashing removed. Plus libsecp256k1 signature verification (OpenSSL fallback, no fork), dynamic checkpointing, and tuned LevelDB caching.
- 🖥️ Modern Qt5 wallet — high-DPI aware, light/dark themes (
-uitheme), a fully redrawn flat icon set and coin-render branding (no 2014 artwork left). - 🪙 Smarter staking — autocombine actually consolidates ripe dust and split no longer fragments stakes; the per-block staking metadata cache cuts disk I/O. All wallet policy — no consensus change.
- 🔌 Modern RPC — lightweight read-only endpoints (
getblockchaininfo,getnetworkinfo,getwalletinfo,getblockheader,getmempoolinfo,uptime). - ✅ CI & Docker — every change is built and tested on Linux + Windows + Docker.
Latest release: v2.3.6-modern — the consolidated modern client: instant P2P snap-sync, profiled sync-speed fixes, dynamic-checkpoint fast validation, a rebuilt non-destructive traffic graph, and a staking wallet that no longer slows sync. The release notes carry the full changelog since the fork; see also
doc/MODERNIZATION.md.
Pre-built, self-contained binaries for Linux and Windows are on the Releases page:
| Component | Linux | Windows |
|---|---|---|
| Daemon (headless) | HoboNickelsd-*-linux-x86_64.tar.gz |
HoboNickelsd-*-windows-x86_64.zip |
| Wallet GUI (Qt5) | HoboNickels-qt-*-linux-x86_64.tar.gz |
HoboNickels-qt-*-windows-x86_64.zip |
The Windows .zips bundle every runtime DLL (and the Qt platform plugin) and are
verified in CI to launch with the build toolchain off the PATH — just unzip and
run the .exe.
Windows SmartScreen flags the unsigned
.exe("unknown publisher"). Click More info → Run anyway, or right-click → Properties → Unblock first. Verify the download againstSHA256SUMS.txton the release. To remove the warning entirely we need an Authenticode code-signing certificate — CI is already set up to sign automatically once one is provided; seedoc/windows-code-signing.md.
Linux (daemon):
sudo apt-get install -y build-essential cmake pkg-config \
libboost-all-dev libssl-dev libdb++-dev libminiupnpc-dev zlib1g-dev
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j"$(nproc)"
./build/HoboNickelsd --helpAdd the Qt5 GUI with -DWITH_QT_GUI=ON (needs qtbase5-dev qttools5-dev). For
the GUI, Windows/MSYS2, Docker, unit tests, and all other options see
doc/build-unix-modern.md.
# create the data dir + config (the daemon prints a suggested rpcpassword on first run)
./build/HoboNickelsd # start the node
./build/HoboNickelsd getinfo # query itKnown-good peers and DNS seeds are built in. Tunable options (sync, staking,
networking, GUI theme) are documented in
doc/configuration.md.
| Algorithm | Scrypt |
| Type | Hybrid Proof-of-Work + Proof-of-Stake |
| PoW block reward | 5 HBN |
| Supply | No fixed cap — proof-of-stake is inflationary |
| Confirmations | 25 |
| Difficulty retarget | Linear |
| Stake reward | 20% min → 100% max annual, capped at 250 HBN |
| Stake weight | 1 day min, 30 days max |
| Default P2P port | 7372 |
| Default RPC port | 7373 |
Based on NovaCoin / BitGems / Bottlecaps.
- Proof-of-stake minting with Stake-For-Charity — donate a configurable percentage of each stake to an address.
- Multi-wallet — dynamically load and unload wallets at runtime.
- Automatic stake-output management — autocombine consolidates ripe small
outputs and split keeps them a sensible size, plus coin control; all tunable via
splitthreshold/combinethreshold. - Built-in block browser and a modern network traffic graph (smooth area chart, adaptive B/KB/MB units, hover readout).
- At-a-glance peer, stake, and block information.
- Modern Qt5 GUI: high-DPI, light/dark/native themes (
-uitheme). - RPC console in the GUI exposing the full command set.
- Self-compacting wallet —
wallet.datis rewritten automatically so it never bloats over time (-walletcompact, on by default;compactwalletRPC on demand).
contrib/explorer/— a single-file, dependency-free (Python 3 stdlib only) block explorer. Point it at a local node and browse the chain in your browser:python3 contrib/explorer/hbn_explorer.py. Read-only.
Everything lives under doc/:
| Document | What it covers |
|---|---|
| MODERNIZATION.md | What changed and why — start here |
| build-unix-modern.md | Building with CMake (daemon, GUI, Windows, Docker, tests) |
| configuration.md | Runtime options (sync, staking, networking, GUI, RPC) |
| gui.md | The Qt5 wallet — theming, high-DPI, RPC console |
| staking-performance.md | How PoS minting works and the performance work |
| performance.md | Sync/validation/memory optimizations + the deferred roadmap |
Brand and UI graphics for designers are in media-kit/.
Released under the MIT/X11 license — see COPYING. Built on the work of the Bitcoin, Peercoin (PPCoin), and Novacoin developers.