Skip to content

karamble/dcrpulse

Repository files navigation

dcrpulse

A modern, self-hosted dashboard for monitoring your Decred node, wallet, and blockchain in real-time.

License Go React TypeScript

What is dcrpulse?

dcrpulse is a comprehensive dashboard that provides:

  • Node Dashboard: Monitor your dcrd node performance, blockchain sync status, network peers, and mempool activity
  • Wallet Dashboard: Track your wallet balances, transactions, staking tickets, and ticket pool statistics
  • Block Explorer: Browse blocks, transactions, and addresses directly from your node
  • Treasury & Governance: Monitor Decred treasury balance and TSpend proposals

All data comes from your local dcrd and dcrwallet instances via RPC - no third-party services required.

Quick Start

Prerequisites

  • Docker and Docker Compose
  • 10GB+ free disk space for blockchain data

Launch

# 1. Clone the repository
git clone https://github.com/<username>/dcrpulse.git
cd dcrpulse

# 2. Set up environment
cp env.example .env
# Edit .env with your preferred RPC password
nano .env

# 3. Start all services
docker compose up -d

# 4. Access the dashboard
# Open http://localhost:8080 in your browser

The first run will sync the blockchain (takes 4-8 hours for mainnet). Monitor progress with:

docker compose logs -f dcrd

Using Makefile

make start       # Start all services
make stop        # Stop all services
make logs        # View logs
make status      # Check status

For more commands: make help

Documentation

Complete documentation is available in the docs/ folder:

📚 Documentation Index - Start here

Quick Links

Getting Started

Guides

Features

Deployment

Reference

Project Structure

dcrpulse/
├── dashboard/          # Unified dashboard application
│   ├── cmd/           # Main application entry point
│   ├── internal/      # Go backend code
│   └── web/           # Frontend React app
├── dcrd/              # dcrd node Docker setup
├── dcrwallet/         # dcrwallet Docker setup
├── docs/              # Documentation
└── docker-compose.yml # Orchestration

See dashboard/README.md for development and build instructions.

Development

The dashboard combines backend and frontend into a single Go binary with embedded static files.

Development mode (hot reload):

# Terminal 1: Backend
cd dashboard
go run cmd/dcrpulse/main.go

# Terminal 2: Frontend
cd dashboard/web
npm install
npm run dev

Frontend dev server runs on http://localhost:3000 and proxies API calls to backend on http://localhost:8080.

Production build:

cd dashboard/web && npm run build
cd .. && go build ./cmd/dcrpulse
./dcrpulse  # Serves on http://localhost:8080

Support

For issues and questions:

License

ISC License - Part of the Decred community projects.


Made with ❤️ for the Decred community