Terminal block explorer for Blocknet, a privacy-focused cryptocurrency.
Built with ratatui. Connects to Blocknet via its REST API and can auto-start an embedded daemon on localhost.
Chain stats, wallet balance, mempool sparklines with history, and mining controls with a plasma visualizer that reacts to hashrate. Shockwave animation on block discovery.
Top-down block field showing the last 500 blocks. Each block is color-coded by transaction count (white = empty, green = busy). Selected block is pulled out and rendered as a spinning 3D wireframe cube whose rotation speed reflects how fast it was mined relative to the 5-minute target. Row gutter shows block heights for orientation.
| Key | Action |
|---|---|
1 |
Dashboard view |
2 |
Grid view |
j / k |
Navigate blocks (newer / older) |
J / K |
Jump one row (newer / older) |
m |
Toggle mining |
+ / - |
Adjust mining threads |
q |
Quit |
- For local default use: no manual daemon setup required (embedded daemon autostarts).
- For remote/custom setups: reachable Blocknet API + matching cookie file.
bntui embeds every file placed under binaries/ at build time and picks the best match for the current OS/arch at runtime.
brew install obselate/tap/bntuiyay -S bntuichoco install bntuicargo install bntuiDownload the latest binary for your platform from Releases.
chmod +x bntui
./bntuiRequires Rust 1.85+.
git clone https://github.com/obselate/bntui.git
cd bntui
cargo build --release
./target/release/bntuibntui can run zero-config locally. If no cookie/daemon is found and you use localhost:8332, it auto-starts the embedded daemon with --api --daemon:
# auto-detect (checks cwd, then platform default)
bntuibntui searches for data/api.cookie in the following order:
- Explicit argument or
BLOCKNET_DIRenv var - Existing cookie directory (
./data/api.cookie, then platform default) - Platform default path (created if missing):
- macOS:
~/Library/Application Support/Blocknet - Linux:
~/.blocknet - Windows:
%APPDATA%\Blocknet
- macOS:
$ bntui --help
Terminal block explorer for Blocknet privacy blockchain
Usage: bntui [OPTIONS] [BLOCKNET_DIR]
Arguments:
[BLOCKNET_DIR] Path to blocknet directory [auto-detected if omitted]
Options:
--host <HOST> API host to connect to [default: localhost]
--port <PORT> API port to connect to [default: 8332]
--cookie <COOKIE> Path to API cookie file (default: {blocknet_dir}/data/api.cookie)
-h, --help Print help
-V, --version Print version
# Optional: pass the directory explicitly
bntui /path/to/blocknet
# Or set the environment variable
export BLOCKNET_DIR=/path/to/blocknet
bntui
# Connect to a remote daemon
bntui --host 192.168.1.100 --port 8332 --cookie /path/to/api.cookie
# Disable embedded daemon autostart (debug/manual mode)
BNTUI_SKIP_EMBEDDED_DAEMON=1 bntuiIf running Blocknet in Docker, make sure the data directory is bind-mounted:
volumes:
- ./data:/dataThen point bntui at the directory containing the data/ folder.
| Endpoint | Method | Purpose |
|---|---|---|
/api/status |
GET | Chain height, peers, sync state |
/api/mempool |
GET | Mempool stats |
/api/wallet/balance |
GET | Wallet balance |
/api/mining |
GET | Mining status and hashrate |
/api/mining/start |
POST | Start mining |
/api/mining/stop |
POST | Stop mining |
/api/mining/threads |
POST | Set thread count |
/api/block/{height} |
GET | Block data by height |
All endpoints require Bearer token authentication via the cookie file.
MIT