Keys API
Simple Lido keys and validators HTTP API.
Requirements​
- 2 core CPU
- 5 GB RAM
- Keys-API-DB — 500MB
- Keys-API — 4GB
- EL Full node
- CL node for applications like the Ejector that use the validators API. For Teku, please use the archive mode. Nimbus is currently not supported.
Environment Variables​
An annotated env sample is available in the repository:
https://github.com/lidofinance/lido-keys-api/blob/main/sample.env
How to Run​
For running Keys Api, please use a stable version's image hash, available here.
Below you can find a docker-compose example for running the service with a database.
https://github.com/lidofinance/lido-keys-api/blob/main/docker-compose.yml
To run using docker-compose:
docker-compose up
Now you can access the API on http://localhost:${PORT}/api.
Monitoring​
Prometheus metrics will be available on endpoint http://localhost:${PORT}/metrics.
You can find configs and dashboards for running Prometheus and Grafana locally in the repository: Grafana, Prometheus.
Example of a docker-compose.yml with metrics setup:
https://github.com/lidofinance/lido-keys-api/blob/main/docker-compose.metrics.yml
Additional Resources​
Keys API GitHub Repository (Open Source) https://github.com/lidofinance/lido-keys-api
API and internal logic documentation https://hackmd.io/@lido/B1aCdW6Lo