Skip to content

Releases: TH3BAT/Blockchaininfo

v1.2.7 — Fee Signal Correction & Median Insight

03 Feb 01:05
bd89b19

Choose a tag to compare

v1.2.7 — Fee Signal Correction & Median Insight

This release tightens the accuracy of BCI’s mempool fee metrics and adds a clearer signal for observing real fee pressure.

Fee Rate Calculation Fix

BCI previously overstated average fee rates by summing multiple mempool fee fields that represent alternative views of the same transaction, not additive values.

Average fee rate is now calculated using the transaction’s base fee only, aligning the metric with actual mempool reality. Reported fee rates may appear lower as a result, but are now correct.

New: Median Fee Rate

BCI now displays the Median Fee Rate (sats/vByte) alongside the average.

  • Average reflects total blockspace pressure
  • Median reflects typical user behavior

Together, they reveal fee dynamics that were previously hidden—especially when dust is filtered or size-based views are enabled.

This update improves interpretability of mempool conditions without changing how BCI samples or filters data. The result is a clearer, more honest picture of fee behavior across transaction sizes.

v1.2.6 — Mempool Size Lens

31 Jan 05:56
02beb67

Choose a tag to compare

v1.2.6 — Mempool Size Lens

  • Added Size Lens filter to the Mempool Distribution panel: Small / Medium / Large
  • Lens composes with [D] Dust-Free mode for a more accurate “my tx reality” view
  • Fee, age, and RBF stats now reflect the selected transaction size class

v1.2.2 — Release Notes

08 Jan 20:33
aa5f48e

Choose a tag to compare

BlockchainInfo v1.2.2 — Release Notes

This release focuses on accuracy, stability, and maintainability, with improvements across miner attribution, RPC security handling, cache correctness, and internal documentation.

Miner Attribution & Network Insight

  • Wallet-first miner attribution restored
    Canonical miner identity now prioritizes known wallet mappings.

  • Coinbase tag parsing as a fallback signal
    When wallet attribution is unavailable, sanitized coinbase tags are used as a best-effort fallback.

  • Improved specificity for pooled hashpower
    Supports cases where pools (e.g., OCEAN) expose upstream hashpower sources, enabling displays such as:

    • NiceHash
    • NiceHash (via OCEAN)
  • Table-driven miner tag classification
    Replaced hardcoded conditional ladders with a centralized, maintainable tag mapping table.

RPC Security & Reliability

  • Linux password store support added
    Enables secure retrieval of RPC credentials via the system password store.
  • Graceful exit on RPC password retrieval failure
    Prevents hanging or undefined startup states.
  • Hidden password input during prompts
    Ensures sensitive input is not echoed to the terminal.

Performance & Correctness

  • Reduced cache write-lock contention
    Read-first comparisons minimize unnecessary write locks.
  • Restored single-slot cache invariants for difficulty calculations
    Fixes missing difficulty direction indicators by ensuring authoritative reference blocks are always available.
  • Tightened block constants and clarified TXID conversion paths

UI & Visual Clarity

  • Centralized accent color definitions
  • Improved informational text contrast for better readability across terminals

Documentation & Maintainability

  • Added documentation for:

    • Linux RPC password support
    • hex_decode() utility
    • Coinbase tag sanitization and classification helpers
  • Expanded internal docs in preparation for ongoing development beyond v1.2.2


Summary

v1.2.2 strengthens BlockchainInfo’s role as an operator-grade observer of the Bitcoin network — improving correctness without adding noise, and surfacing nuance without speculation.

This release lays a cleaner foundation for future miner identity evolution while reducing operational friction and edge-case failures.

v1.2.0 — Miner History, Consensus Hygiene, and Tor-Ready Stability

05 Jan 02:52
9b6304a

Choose a tag to compare

2026-01-04

This release consolidates all improvements since v1.0.0 into a single, cohesive upgrade focused on observability, correctness, and resilience under real-world conditions (including Tor/onion access).


✨ Added

Last 20 Blocks / Miners Panel

  • New Last 20 Blocks / Miners view in the Blockchain section.
  • Displays recent block heights alongside their associated mining pools.
  • Toggleable via [L], mutually exclusive with the Hash Rate Distribution panel.
  • Newest blocks shown first for fast situational awareness.
  • Built on existing block history — no additional RPC calls.

This panel provides a lightweight, block-native alternative to heavier distribution views, especially useful over high-latency connections.


🔧 Improved

Consensus Hygiene & Correctness

  • Replaced hard-coded block and mempool constants with consensus-derived values.
  • Normalized block-range calculations using saturating arithmetic for safety and clarity.
  • Corrected edge-triggered state handling to prevent unintended cache resets.
  • Improved cache stability under high-latency environments (e.g. Tor).

Network & Mempool Observability

  • Centralized RPC client construction behind a single builder (proxy-ready).

  • Unified timeout and connection behavior across all RPC modules.

  • Stabilized background RPC jobs (e.g. miner detection) when accessing nodes over onion services.

  • Reduced memory usage by:

    • Switching TXID storage to fixed-size [u8; 32]
    • Skipping unused RPC fields via serde::skip
    • Avoiding redundant deserialization paths

Visual & UX Refinements

  • Improved ASCII chart hierarchy:

    • Percentage values remain crisp
    • Horizontal bars dimmed to reduce noise
  • Miner names rendered with secondary emphasis for clearer pattern recognition.

  • Hash-rate panel now displays actual block window, not time-based placeholders.

  • Improved narrow-terminal support and label clarity.


🛠 Fixed

  • Corrected mempool transaction lookup to deserialize full JSON-RPC responses.
  • Replaced positional assumptions with block-anchored propagation slots.
  • Grounded fee metrics in integer sats (floats only at render time).
  • Trimmed Keychain stdout before parsing RPC passwords.
  • Resolved analyzer warnings and development-time cyclic dependency issues.

📝 Notes

  • Under Tor/onion RPC access, initial loads (mempool, TX-heavy views) may take longer than LAN connections.
  • When using Start9 onion RPC interfaces, ensure the RPC port is explicitly included (e.g. :8332).
  • The Last 20 Blocks / Miners panel fills gracefully from 1 → 20 blocks at startup.
  • This release reflects a maturation of the v1.x line: fewer surprises, more signal.

🎯 Summary

v1.2.0 is not about adding noise — it’s about making decentralization visible, stable, and trustworthy.

This release strengthens the dashboard as an instrument, not just a display:

  • resilient under latency
  • faithful to consensus reality
  • designed for plurality, not assumptions

Release v1.0.0 - Sovereign Release

11 Dec 10:04

Choose a tag to compare

🚀 BlockChainInfo v1.0.0 – Sovereign Release

BlockChainInfo reaches its first stable production milestone — a fully documented, fully hardened, real-time Bitcoin terminal dashboard built for node operators, developers, researchers, and anyone who values decentralized truth over centralized illusion.

This release is the culmination of months of engineering, refinement, and architectural polish.
Every module has been documented, every async task hardened, every UI component stabilized.


Highlights of v1.0.0

🔹 Fully Documented Codebase (Hybrid Mode)

Every module — RPC, display, utils, models, run loop — now includes structured commentary and inline explanations.
No black boxes. No guesswork.
A codebase the community can read, learn from, and contribute to.


Core System Improvements

🧵 Asynchronous Runtime Engine

  • Multiple high-frequency RPC polling loops
  • Dynamic pacing to avoid jitter and saturation
  • Shared cache layer for zero-lag UI updates
  • Graceful recovery from timeouts or RPC failures

The engine is built for long-running uptime and sovereign node performance.


📊 New & Enhanced Dashboard Components

⛏ Hashrate Distribution Overlay

Toggleable miner attribution and hashrate distribution panel:

  • Per-miner share breakdown
  • Integrated miner address mapping
  • TUI-rendered horizontal hash bars

🌫 Dust-Free Mempool Filtering

Toggle between:

  • Dust-Free View: high-signal fee data
  • All TX View: full raw mempool
    Combined with improved mempool distribution sampling.

🖧 Client vs Version Distribution (Network Panel)

A single keypress lets you switch between:

  • Client distribution (Core, Knots, Ronin, etc.)
  • Version distribution (70016, 70017…)

Pure network intelligence — no noise.

🧭 Consensus Security Panel

New enhancements:

  • Fork detection with chain-tip monitoring
  • Stale-fork warning popup when branch length ≥ 2
  • Clear, human-readable explanations for anomalies

This transforms raw chaintips into actionable insight.


💬 Improved UI & User Experience

Toggles integrated into each section

  • Hashrate overlay [H]
  • Dust-free mempool [D]
  • Client vs Version toggle (c→…)

Popup System

  • Transaction Lookup
  • Help Panel
  • Consensus Warning

Graceful Shutdown

Pressing q now:

  • Displays a shutdown footer
  • Redraws the UI one final time
  • Exits cleanly

A polished final touch.


🧩 Underlying Improvements

  • Safe indexing throughout UI render calls
  • No panics, no unwraps, no silent failures
  • Cleaned concurrency boundaries
  • Reduced redundant writes to caches
  • Smarter block-change detection using DashSet
  • Propagation time tracking improved and stabilized

This release is stable enough for daily use by node operators.


🗂 Project Metadata

Cargo.toml Update

  • Version bumped to 1.0.0
  • Finalized metadata
  • Dependency set validated for production stability

Documentation

This release synchronizes all inline documentation across the codebase for long-term maintainability.


🎯 Summary

BlockChainInfo v1.0.0 is not just a version — it’s a foundation.
A sovereign-grade Bitcoin dashboard designed for clarity, performance, and community use.
This release is stable, complete, and ready for broader adoption.

Welcome to the Sovereign Release.

Release v0.6.0 - Popup Architecture & Help Panel Upgrade

08 Dec 19:24

Choose a tag to compare

🚀 BlockChainInfo v0.6.0 – Popup Architecture & Help Panel Upgrade

This release marks one of the most important steps toward v1.0.0
the transition from a single hard-coded popup to a scalable, enum-driven popup system, plus the addition of a fully polished Help Panel accessible everywhere in the dashboard.

This brings BlockChainInfo into a more mature, unified, and future-proof architecture.


What's New

1. Popup System Refactor (Enum-Based)

  • Replaced the old show_popup: bool with a new PopupType enum.
  • Enables multiple popups (Tx Lookup, Help, future settings panels).
  • ESC now universally closes any popup.
  • Cleaner, modular, and significantly more maintainable.

Popup states now include:

  • None
  • TxLookup
  • Help
    (Future additions require zero refactoring.)

2. New Help Panel (? Key)

  • Open Help panel using ?, the universal TUI help key.
  • Displays global controls, section descriptions, and app structure.
  • Mirrors the Tx popup styling for a unified UI experience.
  • Clean, centered, color-consistent, and version-ready.

3. Unified Popup Styling

All popups now use a consistent theme:

  • Yellow border + title
  • Green informational text
  • Cyan for user input (Tx Lookup)

This brings the entire interface into a cohesive style, preparing for 1.0.0 polish.


4. Refined Input Handling

Tx Lookup input logic migrated cleanly to the enum system:

  • Character typing gated only when popup == TxLookup
  • Paste detection logic preserved
  • Backspace + Enter behavior identical and intact
  • ESC resets paste state and closes popups

Zero regressions.
Perfect isolation between popups.


🛠️ Improvements

  • Simplified event handling pathways
  • Reduced clutter in runapp.rs
  • Increased clarity in popup activation logic
  • Code is now easier to extend and reason about

This release lays the final architectural groundwork for future panels like:

  • Settings
  • Network Node Summary
  • Difficulty Epoch Info
  • About / Version Info

🔮 Next Steps Toward v1.0.0

  • Final pass on toggle consistency
  • Light code cleanup / minor refinements
  • Help panel content review
  • README update
  • Final polish before tagging v1.0.0

🧩 Version Bump

0.5.1 → 0.6.0

Rationale:

  • Adds new features (Help panel)
  • Introduces an architectural upgrade (enum popup system)
  • Does not introduce breaking changes
  • Significant step toward v1.0.0

🙌 Built for the community.

Powered by Bitcoin.

Release v0.5.0 - Client Distribution Engine

08 Dec 06:17

Choose a tag to compare

🚀 Release: BlockChainInfo v0.5.0

Client Distribution Engine + Unified Percent Normalization

This release introduces one of the most significant UI and architecture upgrades in BlockChainInfo so far. The Network panel is now more expressive, more accurate, and more professional — and the mempool subsystem is cleaner than ever.


🆕 New Features

1. Client Distribution View (Toggle: c)

A brand-new alternative to the Version Distribution chart.
BlockChainInfo now identifies and classifies node clients (Core, Knots, Ronin, Unknown, Other).

  • Toggle instantly using c

  • Dynamic panel title shows what pressing c will switch to:

    • Version → (c→Client)
    • Client → (c→Version)
  • Supports up to 5 client categories

  • Automatically centers rows for better readability

  • Shared styling with the rest of the TUI


🎯 2. Unified Percent Normalization Engine

Percentages throughout the dashboard (Client Distribution, Mempool, RBF, Age buckets) now use a single shared function:

utils::normalize_percentages()

Benefits:

  • All categories add up to exactly 100%
  • No more 99/101% drifts
  • Eliminates older hard-wired 3-bucket rounding
  • Works with any number of buckets (N-bucket algorithm)
  • Used across both Mempool and Network subsystems

🔧 3. Mempool Refactor

The old calculate_rounded_percentages() was replaced everywhere with the new generalized normalization engine.

This makes the mempool panel:

  • cleaner
  • more consistent
  • easier to maintain
  • mathematically precise

💄 4. UI/UX Improvements

  • Client Distribution rows now include a top spacer to visually center results
  • Bars scale cleanly using integer math derived from normalized percentages
  • Network panel title now includes toggle hints
  • Improved symmetry between Network, Mempool, and other panels

🛠 Internal Improvements

  • Better client parsing (Core, Knots, Ronin, Unknown, Other)
  • Safer subver extraction logic
  • Cleaner zipping of values + percentages during rendering
  • Codebase prepared for future Help Panel integration

📡 Stability

BlockChainInfo v0.5.0 has been tested under:

  • live node data
  • steady-state polling
  • repeated toggling across panels
  • mempool volatility
  • multiple Network configurations

Everything runs stable, smooth, and without regressions.


🛣 Path to v1.0.0

This release lays critical groundwork for:

  • Help Panel (h)
  • Enhanced keybinding discoverability
  • New toggle-driven views
  • Final UI polish
  • Documentation improvements

The next versions will build toward a polished v1.0.0 experience.


🏁 Upgrade Notes

Just pull the latest release tag and run:

cargo build --release

No configuration changes required.

Node connections, version detection, and mempool sampling all remain compatible with previous versions.

Release v0.4.1 — Silent Log Stability Update

02 Dec 02:30

Choose a tag to compare

This release removes noisy “getmempoolentry not found” output and keeps the
error_log.txt focused only on real RPC issues such as timeouts or connection
failures. Dust churn and normal mempool turnover no longer generate log entries,
resulting in a clean, stable, low-noise error pipeline.

✔ Eliminated expected churn errors from log file
✔ Ensured TUI remains silent during normal operation
✔ Error log now grows only when true RPC issues occur
✔ Cleaner long-term stability for both ALL-TX and Dust-Free modes

Release Notes — v0.4.0

29 Nov 01:46

Choose a tag to compare

🚀 Release v0.4.0 — The Sovereign Mempool Toggle

This release introduces the long-awaited real-time Dust-Free toggle (D).
Node runners can now dynamically switch between:

• DUST-FREE (only >= threshold txs)
• ALL TX (full mempool view)

…with instant updates across:

  • Mempool distribution analytics
  • Fee distribution metrics
  • TUI display
  • Cache filtering logic

The entire toggle pipeline was redesigned using Arc to ensure
async-safe behavior across UI + background tasks without stale or frozen flags.

UI now displays the current mode directly in the [Mempool] border:
[Mempool] [D] DUST-FREE
[Mempool] [D] ALL TX

TX_CACHE logic was refactored to prevent data poisoning when switching modes,
ensuring stable and accurate mempool state at all times.

This feature completes the core interactive architecture and positions
BlockChainInfo on a clear path toward the upcoming v1.0.0 release.

Release notes — v0.3.4

27 Nov 06:11

Choose a tag to compare

✅ Release notes — v0.3.4
v0.3.4 — Difficulty Epoch Fix + Dependency Updates

Fixes

  • Corrected difficulty estimate visibility logic.
  • App now properly shows N/A during the first 5 blocks of a new difficulty epoch.
  • Replaced unreliable confirmations < 6 check with accurate epoch-based math.
  • Behavior is now fully stable at each retarget boundary.

Improvements

  • Cleaned up comments and internal logic for readability and future maintenance.

Dependency Updates

  • tokio → 1.48.0
  • reqwest → 0.12.24
  • serde_json → 1.0.228
  • chrono → 0.4.42
  • regex → 1.12.2
  • toml → 0.9.8