Skip to content

Production-ready P2P network visualization platform for cryptocurrency blockchains. Fork-ready template for any Bitcoin-derived chain.

License

Notifications You must be signed in to change notification settings

RaxTzu/AtlasP2P

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

340 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

AtlasP2P

AtlasP2P

License: MIT GitHub Documentation CI

A professional, production-ready P2P network visualization platform for cryptocurrency blockchains. Monitor your network's health, discover nodes worldwide, and provide transparency to your community.

πŸš€ Fork-Ready | ⚑ Real-time Updates | 🌍 Global Node Discovery | 🎨 Fully Customizable

Key Features

  • Real-time Node Discovery: Bitcoin P2P protocol crawler with recursive peer discovery from DNS seeds
  • Interactive Geolocation Map: Leaflet-powered map with clustering, filtering, and node details
  • Performance Metrics: Node tiers (Diamond/Gold/Silver/Bronze) based on uptime, latency, and reliability
  • Node Verification: Prove node ownership via message signing, DNS TXT records, HTTP binary challenge, or user agent tags
  • Bot Protection: Cloudflare Turnstile CAPTCHA for API endpoints (privacy-friendly, invisible verification)
  • Operator Profiles: Custom branding with avatars, descriptions, and social links for verified nodes
  • Node Alerts: Email and Discord webhook notifications for node status changes (offline/online, version outdated, tier changes)
  • API Keys: Programmatic access with scoped permissions, rate limiting, and key rotation
  • Admin Dashboard: Moderation queue, user management, audit logs, and system settings

Live Example

See AtlasP2P in action:

Quick Start

πŸ“– New users: See docs/GETTING_STARTED.md for complete guide!

Development (5 Minutes)

# 1. Clone repository
git clone https://github.com/RaxTzu/AtlasP2P.git
cd AtlasP2P

# 2. Choose deployment mode:

# Option A: Local Docker (Full Stack - Recommended)
make setup-docker   # Creates .env from template
make docker-dev     # Starts PostgreSQL + Supabase + Web + Crawler

# Option B: Cloud Supabase (Production-Ready)
make setup-cloud    # Creates .env from template
# Edit .env with your Supabase Cloud credentials
make cloud-dev      # Starts Web + Crawler only

What just happened?

  • make setup-docker copied .env.docker.example β†’ .env
  • make setup-docker copied project.config.yaml.example β†’ project.config.yaml
  • Both files are gitignored for upstream development

Forking? Use make setup-fork for guided fork setup!

  • Customize config/project.config.yaml for your blockchain
  • Commit with git add -f config/project.config.yaml
  • See FORKING.md for complete instructions

Access locally (default ports - configurable via .env):

Port Configuration: All ports are configurable in .env via WEB_PORT, KONG_PORT, DB_PORT, STUDIO_PORT, etc. See .env.example for full list.

Production

# 1. Configure domain in .env
DOMAIN=nodes.yourcoin.org
[email protected]

# 2. Deploy with auto-SSL
make prod-docker   # Self-hosted (full stack)
# OR
make prod-cloud    # Cloud Supabase + Docker app

Access: https://nodes.yourcoin.org (Caddy handles SSL certificates automatically)

Automated CI/CD Deployment

Configure once, deploy forever with our GitHub Actions workflow:

# 1. Setup deployment workflow (forks only)
make setup-deploy

# 2. Configure deployment in config/project.config.yaml
deployment:
  mode: self-hosted-docker  # or self-hosted-cloud
  registry:
    type: ghcr  # or ecr
  caddy:
    mode: auto  # auto-detects infrastructure
  secrets:
    source: auto  # AWS SSM, GitHub Secrets, or manual

# 3. Add GitHub Variables and Secrets
# Settings β†’ Secrets and variables β†’ Actions
DEPLOY_USER, SSH_HOST, DEPLOY_PATH, SSH_PRIVATE_KEY

# 3. Push to master - automatic deployment!
git push origin master

Features:

  • βœ… Auto-detects Caddy (container/host/none)
  • βœ… Auto-detects secrets management (SSM/GitHub/manual)
  • βœ… Health checks with automatic rollback
  • βœ… Database backups before deployment
  • βœ… Multi-secrets sources (AWS Parameter Store, GitHub Secrets, manual .env)

See: docs/CICD.md for complete automated deployment guide

Tech Stack

Frontend:

Backend:

  • Supabase - PostgreSQL database, REST API, Authentication, Real-time subscriptions
  • PostgREST - Auto-generated REST API from database schema
  • Kong - API Gateway for request routing

Crawler:

Infrastructure:

Fork This Project for Your Cryptocurrency

AtlasP2P is designed to be forked! Deploy a node map for ANY Bitcoin-derived cryptocurrency in minutes.

Quick Fork (3 Steps)

1. Edit Configuration (config/project.config.yaml):

chain: yourcoin
chainConfig:
  name: YourCoin
  ticker: YOUR
  p2pPort: 8333
  magicBytes: "f9beb4d9"  # Your chain's magic bytes
  dnsSeeds:
    - seed.yourcoin.org

2. Replace Logos (apps/web/public/logos/):

  • Use the provided TEMPLATE-*.svg files as guides
  • Replace with your coin's branding (PNG or SVG)
  • Update paths in project.config.yaml

3. Deploy!

make prod-docker   # Self-hosted
# OR
make prod-cloud    # Cloud Supabase

Keep Your Fork Updated:

make sync-upstream  # Pull latest improvements from AtlasP2P

See Complete Forking Guide for detailed instructions.


Documentation

πŸ“˜ Complete Documentation - GitHub Pages

Quick Links:

Contributing

Contributions are welcome! Please:

  1. Fork the repository
  2. Create a 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

Run make lint && make typecheck && make build before submitting.

Credits & Attribution

Built by: RaxTzu Team

Inspired by:

  • Bitnodes.io - Node discovery methodology and API structure
    • Reference implementation by Addy Yeow
    • We adapted the P2P crawler approach and API compatibility

Core Technologies:

Map Tiles:

Bitcoin P2P Protocol:

  • Based on Bitcoin Core protocol specification
  • Adapted for Bitcoin-derived chains (Dogecoin, Litecoin, Dingocoin, etc.)

Dependencies:

License

MIT License - see LICENSE file for details.

Copyright (c) 2025 RaxTzu Team

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

About

Production-ready P2P network visualization platform for cryptocurrency blockchains. Fork-ready template for any Bitcoin-derived chain.

Topics

Resources

License

Stars

Watchers

Forks