The ethPandaOps Lab is an experimental platform for exploring and visualizing Ethereum network data. This UI component provides interactive visualizations and insights from various data sources.
├── data/ # JSON data files generated by notebooks
├── frontend/ # React frontend application]
└── notebooks/ # Jupyter notebooks for data processing
Xatu is a beacon chain event collector and metrics exporter. The Lab processes data from Xatu to provide insights into:
- Network contributor statistics
- Client version distribution
- Network health metrics
The frontend is built with:
- React
- TypeScript
- Tailwind CSS
- Recharts for data visualization
- Vite for development and building
To run the frontend locally:
cd frontend
npm install
npm run dev
The development server includes a proxy that serves data files from the ../data
directory at the /api/data
endpoint.
Data is processed using Jupyter notebooks located in the notebooks/
directory. Each notebook:
- Does whatever it needs to do to get the data
- Saves the results as JSON files in the
data/
directory
To run a notebook:
cd notebooks
pip install -r requirements.txt
cp .env.example .env # Configure your environment variables
./run_notebook.sh xatu-public-contributors
Notebooks are configured to run on a schedule defined in notebooks.yaml
. Each notebook has:
- A minimum interval between runs
- Specific data processing tasks
- Output paths for generated data
The frontend is deployed on Cloudflare Pages, providing:
- Global CDN distribution
- Automatic HTTPS
- Continuous deployment from Git
The Lab is part of ethPandaOps' suite of tools for Ethereum network operations. Contributions are welcome! Please check our GitHub repository for more information.