Blockchain explorer for the Flux network, supporting Flux v9.0.0+ with Proof-of-Node (PoN) consensus. Built with Next.js 14 and backed by ClickHouse.

Three-component stack:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Flux Blockchain β
β (v9.0.0+ PoN) β
ββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββ
β RPC
βββββββββββββββ΄ββββββββββββββ
β β
v v
ββββββββββββββββββββ ββββββββββββββββββββ
β FluxIndexer ββββββββββΊβ ClickHouse β
β (TypeScript) β β (Database) β
β Port: 42067 β β Port: 8123 β
ββββββββββ¬ββββββββββ ββββββββββββββββββββ
β
β REST API
v
ββββββββββββββββββββ
β Flux Explorer β
β (Next.js 14) β
β Port: 42069 β
ββββββββββββββββββββ
| Component |
Description |
| ClickHouse |
Columnar database for blockchain data |
| FluxIndexer |
TypeScript indexer with REST API |
| Flux Explorer |
Next.js web interface |
- Block browsing with transaction details
- Transaction viewer with input/output visualization
- Address tracking with balance and history
- Rich list with FluxNode counts
- Network statistics and supply data
- Tier detection (CUMULUS, NIMBUS, STRATUS)
- START/CONFIRM transaction parsing
- Block producer statistics
- Live FluxNode count per address
- ClickHouse backend (~61GB vs ~260GB with PostgreSQL)
- Full sync in ~9 hours from genesis
- 120M+ transactions indexed
- Request coalescing for load reduction
- Cursor-based pagination
- Docker & Docker Compose v2
- 16GB RAM minimum
- 120GB storage
git clone https://github.com/RunOnFlux/flux-indexer-explorer.git
cd flux-blockchain-explorer
docker compose -f docker-compose.production.yml up -d
# View logs
docker compose -f docker-compose.production.yml logs -f indexer
# Access services
# API: http://127.0.0.1:42067
# Explorer: http://127.0.0.1:42069
# Stop
docker compose -f docker-compose.production.yml stop
# Rebuild service
docker compose -f docker-compose.production.yml build indexer
docker compose -f docker-compose.production.yml up -d indexer
# Status
docker compose -f docker-compose.production.yml ps
# Database size
docker exec fluxindexer-clickhouse clickhouse-client --query "
SELECT formatReadableSize(sum(bytes_on_disk)) FROM system.parts WHERE active
"
flux-blockchain-explorer/
βββ flux-indexer/ # Indexer service
β βββ src/
β β βββ api/server.ts # REST API
β β βββ indexer/ # Sync and block processing
β β βββ database/ # ClickHouse connection
β β βββ rpc/ # Flux daemon client
β βββ docker/ # Docker configuration
β βββ Dockerfile
βββ flux-explorer/ # Next.js frontend
β βββ src/
β β βββ app/ # Pages
β β βββ components/ # UI components
β β βββ lib/api/ # API clients
β βββ Dockerfile
βββ docker-compose.production.yml
GET /health - Health check
GET /api/v1/status - Sync status
GET /api/v1/blocks/latest - Recent blocks
GET /api/v1/blocks/:heightOrHash - Block details
GET /api/v1/stats/dashboard - Dashboard stats
GET /api/v1/transactions/:txid - Transaction details
POST /api/v1/transactions/batch - Batch lookup
GET /api/v1/addresses/:address - Balance and stats
GET /api/v1/addresses/:address/transactions - History
GET /api/v1/addresses/:address/utxos - UTXOs
GET /api/v1/richlist - Top holders
GET /api/v1/supply - Supply data
GET /api/v1/producers - Block producers
| Component |
RAM |
Storage |
| ClickHouse |
9-16GB |
61GB |
| FluxIndexer |
3-4GB |
50GB |
| Explorer |
100MB |
1GB |
| Total |
~16GB |
~112GB |
- Full sync: ~9 hours
- 2.1M+ blocks, 120M+ transactions
- ~65 blocks/second (bulk)
- Block lookup: <10ms
- Address transactions: <50ms
- Rich list: <100ms
CH_HOST=clickhouse
CH_HTTP_PORT=8123
CH_DATABASE=flux
FLUX_RPC_URL=http://127.0.0.1:16124
FLUX_RPC_USER=fluxrpc
FLUX_RPC_PASSWORD=your_password
INDEXER_BATCH_SIZE=1000
API_PORT=42067
NEXT_PUBLIC_API_URL=http://127.0.0.1:42067
SERVER_API_URL=http://indexer:42067
| Version |
Type |
| v1 |
Legacy transparent |
| v2 |
Sprout shielded |
| v4 |
Sapling shielded |
| v5/v6 |
FluxNode operations |
| Tier |
Collateral |
| CUMULUS |
1,000 FLUX |
| NIMBUS |
12,500 FLUX |
| STRATUS |
40,000 FLUX |
- PoW (version < 100): Equihash mining
- PoN (version >= 100): FluxNode signatures, ~30 second blocks
# Indexer
cd flux-indexer
npm install
npm run dev
# Explorer
cd flux-explorer
npm install
npm run dev
MIT License