You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs: clean up bluffs, sync with code, and upgrade dependencies
- Corrected Readme.md, backend/doc.md, and backend/test.md to accurately reflect current codebase.
- Fixed collector log (7s vs 1s interval).
- Implemented missing 'mempool_health_statistics' in backend to fix frontend gap.
- Upgraded backend and frontend dependencies to latest production-ready versions.
A comprehensive full-stack application for monitoring and visualizing Bitcoin Core transaction fees, mempool dynamics, and block statistics. This tool provides real-time insights through a modern web interface powered by a robust backend that interfaces directly with a Bitcoin Core node.
3
+
- A full-stack application for monitoring and validating Bitcoin Core transaction fee estimates against actual block data.
4
+
- Built on top of Bitcoin Core PR #34075
4
5
5
-
## Overview
6
+
###Overview
6
7
7
-
This project provides a centralized platform to track and analyze Bitcoin transaction fees. It bridges the gap between raw Bitcoin Core RPC data and human-readable visualizations.
8
+
This project tracks `estimatesmartfee` from a Bitcoin Core node and compares those estimates with the feerate percentiles of subsequent blocks. It provides a visual interface to verify the accuracy of the node's fee predictions.
8
9
9
-
### Key Features
10
-
-**Real-time Fee Estimation**: Get feerate estimates based on current mempool percentiles and historical data.
11
-
-**Interactive Charts**: Visualize fee history, block statistics, and mempool status using Recharts and D3.
12
-
-**Mempool Diagram**: View the current state of the mempool in a graphical format.
13
-
-**Unified API**: A clean REST API that handles multiple data sources and internal caching.
10
+
####Key Features
11
+
-**Fee Estimate Tracking**: A background service polls Bitcoin Core every 7 seconds for smart fee estimates.
12
+
-**Historical Accuracy**: Visualizes the accuracy of estimates (within range, overpaid, or underpaid) compared to real block data.
13
+
-**Mempool Diagram**: Real-time visualization of the mempool fee/weight accumulation curve.
14
+
-**Block Statistics**: Direct insights into feerate percentiles for recent blocks.
14
15
15
-
## Architecture & Integration
16
+
####Architecture
16
17
17
-
The project is divided into two main modules that are linked through a secure proxy layer:
18
+
-**Backend (Python/Flask)**: Communicates with Bitcoin Core via RPC. Collects estimates into SQLite and serves data via a REST API.
19
+
-**Frontend (Next.js/TypeScript)**: Modern UI using Recharts and D3. Communicates with the backend via a secure API proxy route.
18
20
19
-
-**Backend (Python/Flask)**: Communicates with your Bitcoin Core node via RPC. It handles data collection, persistence in SQLite, and serves as the source of truth for all analytics.
20
-
-**Frontend (Next.js/TypeScript)**: Provides the user interface. It communicates with the backend via an internal API route (`frontend/src/app/api/[...path]/route.ts`) which proxies requests to the backend service. This architecture simplifies deployment and enhances security.
21
-
22
-
## Project Structure
21
+
#### Project Structure
23
22
24
23
```text
25
24
.
26
-
├── backend/ # Flask API, data collector, and database services
27
-
│ ├── src/ # Application logic (services, app.py)
25
+
├── backend/ # Flask API, data collector, and SQLite database
26
+
│ ├── src/ # Core logic and RPC services
28
27
│ └── tests/ # Pytest suite for backend validation
29
28
├── frontend/ # Next.js web application
30
-
│ ├── src/app/ # App router, pages, and secure API proxy
31
-
│ └── src/components/ # Reusable UI components and dynamic charts
-**Bitcoin Core Node**: Access to a running Bitcoin Core node with RPC enabled.
39
-
-**Python**: Version 3.12+
40
-
-**Node.js**: Version 22+
36
+
####Prerequisites
37
+
-**Bitcoin Core Node**: Access to a node with RPC enabled (`getblockstats` support required).
38
+
-**Python**: 3.12+
39
+
-**Node.js**: 22+
41
40
42
-
### 1. Configuration
43
-
-**Backend**: Navigate to `backend/`, copy `rpc_config.ini.example` to `rpc_config.ini`, and fill in your node's details.
44
-
-**Frontend**: Ensure the `BACKEND_URL` environment variable is set (defaults to `http://127.0.0.1:5001`).
41
+
#### 1. Configuration
42
+
-**Backend**: Copy `backend/rpc_config.ini.example` to `backend/rpc_config.ini` and provide RPC credentials.
45
43
46
-
### 2. Manual Startup
44
+
####2. Manual Startup
47
45
**Backend:**
48
46
```bash
49
47
cd backend
@@ -60,20 +58,15 @@ npm install
60
58
npm run dev
61
59
```
62
60
63
-
### 3. Automated Startup (Production-like)
64
-
A `restart.sh` script is provided in the root directory to stop any existing instances and start both services in the background using Gunicorn (backend) and Next.js (frontend):
61
+
####3. Automated Startup
62
+
Use the provided `restart.sh` script to launch both services in the background:
65
63
```bash
66
64
chmod +x restart.sh
67
65
./restart.sh
68
66
```
69
67
70
-
## Credits
71
-
72
-
This project is a collaborative effort between:
73
-
-**Ismael Sadeeq**: Main contributor and maintainer.
74
-
-**Gemini**: AI-assisted development, architectural design, and test automation.
75
-
-**Claude**: AI-assisted development, code optimization, and documentation.
76
-
-**b-l-u-e** ([winnie.gitau282@gmail.com](mailto:winnie.gitau282@gmail.com)): Contributions to core services, backend logic, and test suites.
77
-
-**mercie-ux** ([mbaomercy0@gmail.com](mailto:mbaomercy0@gmail.com)): Contributions to user experience, frontend design, and visual components.
78
-
79
-
The codebase represents a merge of PR work from contributors and AI-generated improvements for a complete, robust experience.
68
+
### Credits
69
+
-**Abubakar Sadiq Ismail**: Bitcoin Core contributor and architecture.
70
+
-**b-l-u-e**: Backend logic and service implementation.
71
+
-**mercie-ux**: Frontend design and visual components.
72
+
-**Gemini & Claude**: AI-assisted development and test automation.
0 commit comments