Skip to content

RECTOR-LABS/pnode-pulse

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pNode Pulse

Real-time Analytics for the Xandeum pNode Network

Live Demo License TypeScript Next.js


Monitor 200+ nodes across 10+ countries with real-time metrics, storage analytics, and network health insights.


pNode Pulse Dashboard

View Live Demo · Report Bug · Request Feature


Overview

pNode Pulse is a comprehensive analytics platform for monitoring Xandeum's decentralized storage network. Track node performance, storage capacity, network health, and growth trends in real-time.

Built for the Superteam Bounty: Build Analytics Platform for Xandeum pNodes


Features

🌐 Network Overview

  • 200+ nodes tracked in real-time
  • Global distribution map with 10+ countries
  • Network health score with A-F grading
  • Version distribution analytics

💾 Storage Analytics

  • 5+ TB total network capacity
  • Per-node storage metrics
  • Capacity growth projections
  • Public vs Private node classification

📊 Performance Monitoring

  • CPU & RAM utilization tracking
  • Uptime leaderboards
  • Node comparison tools
  • Historical trend analysis

🔔 Advanced Features

  • IP change detection & logging
  • Node graveyard for inactive nodes
  • Predictive health alerts
  • Real-time WebSocket updates

Quick Start

Prerequisites

  • Node.js 20+
  • Docker & Docker Compose

Installation

# 1. Clone and setup
git clone https://github.com/RECTOR-LABS/pnode-pulse.git
cd pnode-pulse
cp .env.example .env

# 2. Start services
docker compose up -d postgres redis
npm install
npx prisma migrate deploy

# 3. Run
npm run dev

Open http://localhost:3000 to view the dashboard.


Tech Stack

Next.js
Next.js 14
TypeScript
TypeScript
Tailwind
Tailwind
PostgreSQL
PostgreSQL
Redis
Redis
Docker
Docker

Additional: tRPC · TimescaleDB · Prisma · Recharts · React Query


Architecture

┌─────────────────────────────────────────────────────────────┐
│                       pNode Pulse                           │
├─────────────────────────────────────────────────────────────┤
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────────────┐ │
│  │   Next.js   │  │  Collector  │  │   TimescaleDB       │ │
│  │  Dashboard  │◄─┤   Worker    │─►│  (Time-series DB)   │ │
│  └──────┬──────┘  └──────┬──────┘  └─────────────────────┘ │
│         │                │                                  │
│         └───────────────►│◄──── Redis (Cache) ────────────► │
└─────────────────────────────────────────────────────────────┘
                           │
                           ▼
┌─────────────────────────────────────────────────────────────┐
│                    Xandeum pNode Network                    │
├─────────────────────────────────────────────────────────────┤
│     pNode 1        pNode 2        pNode 3       pNode N     │
│      :6000          :6000          :6000         :6000      │
│         └─────────── Gossip Network (:9001) ────────────┘   │
└─────────────────────────────────────────────────────────────┘

API Reference

pNode Pulse exposes a public REST API for integration:

Endpoint Description
GET /api/v1/nodes List all nodes with current metrics
GET /api/v1/nodes/:id Get specific node details
GET /api/v1/network/stats Network-wide statistics
GET /api/v1/leaderboard Node rankings by various metrics
GET /api/health Health check endpoint

View Full API Documentation →


Documentation

Document Description
User Guide How to use each feature
Deployment Guide Self-hosting instructions
API Reference REST API documentation
Operations Runbook Production operations guide
pRPC Reference Xandeum pRPC documentation

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.


Acknowledgments


Website · Xandeum · Discord · GitHub


Built with ❤️ for the Xandeum ecosystem

About

Real-time analytics platform for Xandeum's pNode network

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published