Before starting up all services, the necessary database structure needs to be created:
make migrate
Simply run docker-compose up
. All necessary services will be started, which are:
There are some predefined dashboard available in Grafana. Those can be accessed at localhost:3000 .
Dependencies are managed by pip-tools
. When you want to add/remove
a dependency, add it to requirements.in and then
run make compile-dependencies
.
For upgrading/downgrading dependencies, run make upgrade-dependencies
to upgrade all package versions or make upgrade-dependencies PACKAGE_NAME=pytest
to upgrade one of them.
If changes need to be made to the database, edit src/db/tables.py as needed. Afterwards, run
make migration-generate MIGRATION_NAME="my migration description"
Alembic will automatically generate the necessary migration scripts under
alembic/versions. Go over them to make sure they were
correctly generated. Then migrate the database to the updated version using
make migrate
.
For each validator, its balance is stored in the database once daily - every 24 hours. On-demand balance retrieval from the beacon node would be time-consuming, and for a year's worth of data would take quite a long time.