serenita-org / ethstaker.tax

The easiest way to determine your Ethereum staking income!
https://ethstaker.tax
MIT License
23 stars 7 forks source link
cryptocurrency cryptocurrency-portfolio ethereum ethstaker staking staking-rewards

ETHstaker.tax

Deployment

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:

Monitoring & debugging

There are some predefined dashboard available in Grafana. Those can be accessed at localhost:3000 .

Development

Dependency changes

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.

DB structure

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.

Space requirements

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.