Leaderboard
The Leaderboard is a specialized frontend application designed to track and rank community participation in Mina Rust node testnets. It provides real-time visibility into testnet contributions, encouraging healthy competition among participants.
Overview
The Leaderboard system was developed to monitor testnet participation metrics and provide transparent rankings of community members based on their contributions to network stability, block production, and overall testnet health.
Configuration
Building for Leaderboard
Build the Leaderboard-specific version:
# Build the Leaderboard-specific version
cd frontend
# Build with leaderboard configuration
make build-leaderboard
Deployment
Firebase Deployment
The Firebase deployment configuration may be outdated. Please verify the current deployment targets and update the configuration as needed before deploying to production.
Deploy the Leaderboard to Firebase hosting:
# Deploy leaderboard variant to Firebase hosting
cd frontend
# Deploy leaderboard variant
make deploy-leaderboard
This command will:
- Run prebuild to update version
- Build production assets with Sentry integration
- Configure leaderboard-specific environment
- Deploy to Firebase hosting
Standalone Deployment
For custom hosting solutions:
# Build and serve the leaderboard application for custom hosting
cd frontend
# Build the application with leaderboard configuration
make build-leaderboard
# Serve the static files
npx http-server dist/frontend/browser -p 8080
Docker deployment
The Leaderboard can be deployed using Docker.
Environment configuration
The Leaderboard uses the leaderboard
environment configuration which:
- Community participation tracking - Optimized for monitoring testnet contributions and rankings
- Real-time metrics - Provides live updates of participant performance and network statistics
- Leaderboard APIs - Connects to specialized endpoints for ranking and participation data
- Analytics enabled - Includes detailed participation tracking and usage analytics
Build Docker image
# Build Docker image for the leaderboard frontend
# Generate .env.docker with current git information (required for WASM build)
frontend/docker/generate-docker-env.sh
# Build the Docker image (from project root)
docker build -t mina-frontend -f frontend/Dockerfile .
Run with Docker
# Run Leaderboard with leaderboard configuration
docker run -p 4200:80 -e MINA_FRONTEND_ENVIRONMENT=leaderboard mina-frontend
The Docker image builds the frontend at container startup based on the
MINA_FRONTEND_ENVIRONMENT
variable. For the Leaderboard, use production
environment.