The ethPandaOps Lab is a comprehensive platform for exploring, analyzing, and visualizing Ethereum network data. It provides interactive dashboards and insights from various data sources, focusing on network health, client diversity, and validator performance across multiple Ethereum networks.
- Multi-Network Support: Data visualization for Mainnet, Sepolia, Holesky, and other Ethereum networks
- Xatu Integration: Insights from Xatu, a beacon chain event collector and metrics exporter
- Beacon Chain Analytics: Detailed metrics on block timings, slot performance, and network health
- Community Node Tracking: Visualization of community-run nodes and their geographical distribution
- Fork Readiness: Monitoring of client readiness for upcoming network forks
- Interactive Visualizations: Rich, interactive charts and maps for data exploration
The application consists of:
├── backend/ # Python-based data processing and API backend
├── frontend/ # React-based user interface
├── public/ # Static assets
└── docker-compose.yaml # Container orchestration for local development
The backend is built with Python and provides:
- Data processing modules for different data sources
- Integration with Clickhouse for data querying
- S3-compatible storage for processed data
- Configuration for multiple Ethereum networks
The frontend is built with:
- React 18
- TypeScript
- Tailwind CSS
- React Query for data fetching
- Recharts and D3 for data visualization
- React Router for navigation
- Docker and Docker Compose
- Node.js 18+ (for local frontend development)
- Python 3.10+ (for local backend development)
-
Clone the repository:
git clone https://github.com/ethpandaops/lab.git cd lab
-
Create a
.env
file based on the example:cp .env.example .env
-
Start the application:
docker-compose up
The application will be available at http://localhost:3000.
-
Set up a Python virtual environment:
cd backend python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate pip install -r requirements.txt
-
Create a configuration file:
cp config.example.yaml config.yaml
-
Run the backend:
python -m lab
-
Install dependencies:
cd frontend npm install
-
Create environment file:
cp .env.example .env
-
Start the development server:
npm run dev
The frontend development server will be available at http://localhost:5173.
The application can be deployed using Docker Compose for production environments, or the frontend and backend can be deployed separately:
- Frontend: Can be deployed to static hosting services like Cloudflare Pages, Vercel, or Netlify
- Backend: Can be deployed as a containerized service on cloud platforms
Contributions to the ethPandaOps Lab are welcome! Please feel free to submit issues or pull requests to the GitHub repository.
This project is licensed under the MIT License - see the LICENSE file for details.