Skip to content

Releases: migalabs/goteth

Ignited Knives

26 Nov 19:17
b31ba38
Compare
Choose a tag to compare

What's Changed

Important notes

Two new tables were added t_validator_rewards_aggregation and t_slashings. Refer to the table docs for more information on these.

A new flag --rewards-aggregation-epoch with its corresponding .env variable GOTETH_ANALYZER_REWARDS_AGGREGATION_EPOCHS were added.

Full Changelog: v3.3.0...v3.4.0

Ignited Flame

05 Aug 14:10
bf2c186
Compare
Choose a tag to compare

Note: The change on t_withdrawals from #125 will create a new table and fill it again (maintaining the name). We suggest backing it up before in case something happens in the middle of the migration process.

What's Changed

New Contributors

Full Changelog: v3.2.0...v3.3.0

Ignited Kitten

13 Jun 14:21
316dd90
Compare
Choose a tag to compare

Summary

This release introduces minor refactors and major new feature: block execution rewards metrics.

  • spec functions look more like Ethereum specification
  • New table: block fees rewards and relay information
    • Keep in mind there can be additional rewards not tracked here, like searchers payments to MEV builders.
  • Fix bug in the t_blob_sidecars_events table
  • Fix bug on the max inclusion delay
  • Fix bug when creating missed blocks performance stats for pools

Database changes

  • There is a new table t_block_rewards
  • Added three new columns in t_epoch_metrics_summary
    • f_source_att_effective_balance_eth
    • f_target_att_effective_balance_eth
    • f_head_att_effective_balance_eth
  • Switch column type of column f_att_effective_balance_eth in t_epoch_metrics_summary to UInt64

What's Changed

  • Refactor metrics to be more Ethereum-like specs by @tdahar in #113
  • Track execution layer block rewards by @tdahar in #114
  • Blob events: keep all events without overwriting by @tdahar in #115
  • add attesting balance per flags in epochs table by @tdahar in #116
  • Set inclusion delay to maxinclusion+1 when there is no attestation by @tdahar in #117
  • Also check proposer index as proposed can be false by @tdahar in #119

Full Changelog: v3.1.0...v3.2.0

Ignited Jedi

18 Mar 07:49
0d81dc9
Compare
Choose a tag to compare

Disclaimer

Since v3.0.0 this tool uses Clickhouse as the database server. If you wish to migrate your existing PostgreSQL database to Clickhouse please refer to https://github.com/migalabs/goteth/releases/tag/v3.0.0

Summary

Database

  • Inclusion Delay is now calculated and also added to pool summaries
  • Blobs are retrieved when the transactions metrics is enabled
  • Fixed bug in the t_validator_last_status table, where the val_idx was always 0

Rewards system

  • When calculating the maximum attestation rewards for a validator, missed blocks are now taken into account

What's Changed

  • Feature/add inclusion delay column to rewards by @santi1234567 in #94
  • Attestation max reward: take into account missed blocks by @tdahar in #109
  • Request Txs and Blobs in bulk by @tdahar in #108
  • Fix validator last status persisting wrong val idx by @tdahar in #110
  • Add column avg inclusion delay to pools summary by @tdahar in #111
  • v3.1.0 preparation by @tdahar in #112

Full Changelog: v3.0.0...v3.1.0

Ignited Ice

04 Mar 09:32
Compare
Choose a tag to compare

Disclaimer

PostgreSQL is not used anymore from v3.0.0 onwards. The only database supported now is Clickhouse.

Summary

This release carries the major database change we recently implemented.

  • Migration from PostgreSQL to Clickhouse.
  • Updated the dependencies to be compliant with the Deneb fork
  • Added new metrics: head events to monitor the arrival of new blocks and the manual block reward calculation (still experimental).

Database migration

If you wish to migrate from your existing PostgreSQL database to Clickhouse, please follow this guide. Here you will find instructions and our experience migrating data from one server to the other.
Keep in mind the migration can only take place with the v3.0.0 release. After that you can upgrade to a newer version.

Docker Images

What's Changed

New Contributors

Full Changelog: v2.2.0...v3.0.0

Happy Kitten

04 Dec 09:30
Compare
Choose a tag to compare

Release Notes

This release includes an important refactor of how the blocks and states are downloaded and processed.

  • A cache has been added that gets cleaned with the finalized checkpoint signal
  • Generic maps have been added to the cache
  • Download and processer are now separate routines and functions
  • Tests have been improved

A few new database migrations have been added:

  • Transaction primary key -> (f_slot, f_hash): this way orphan blocks can include repeated transactions until they are deleted
  • Removed primary key in validator_last_status: manual deletion as it makes the query faster

However, all the data persisted and the tool configuration remained the same. This release serves as a base for new features, which will be more atomic and easier to deploy as of the refactor.

What's Changed

  • Feat/add generic map by @cortze in #85
  • Refactor the main routines: Asynchronous download and processing (step0) by @tdahar in #84
  • Add Finalized checker in async routine (step1) by @tdahar in #86
  • Tests/improve tx query by @tdahar in #83
  • Refactor/performance review (step 2) by @tdahar in #87
  • Refactor main routine to handle events asynchronously (in separate goroutines) by @tdahar in #88

Full Changelog: v2.1.0...v2.2.0

Happy Jelly

18 Oct 10:41
1295d1f
Compare
Choose a tag to compare

Release Notes

This release fixes some errors introduced in the previous versions where the orphans table was not getting filled.
Also, it introduces a new flag in the metrics list: one can now choose whether to query API rewards (only blocks right now) or skip this.
Keep in mind, if this is skipped then rewards cannot be compared to max_reward when a validator is a proposer in the epoch.

What's Changed

  • Add pending migrations to orphans table by @tdahar in #82
  • Feat/optional api rewards by @tdahar in #81

Full Changelog: v2.0.1...v2.1.0

Happy Ice

02 Oct 10:03
06b264c
Compare
Choose a tag to compare

Release Notes

This release contains several minor fixes.

  • Repository URL dependency has been fixed in all the files
  • Name has been changed in the docker files

New features

  • Database tests have been added
  • Snappy Compression details added for blocks

Bug Fixes:

  • Fix block number and timestamp not stored in the transactions table

What's Changed

  • Add DB integrity checks by @cortze in #75
  • Fix block number and timestamp not stored in the transactions table by @tdahar in #74
  • Allow one validator to be proposer several times in epoch by @tdahar in #77
  • Test non-existent tx data for tracked blocks by @cortze in #76
  • Use direct migrate.ErrNoChange for specific Error check case by @cortze in #79
  • Add snappy compression details by @cortze in #78
  • Refactor/update repository url by @tdahar in #80

Full Changelog: v2.0.0...v2.0.1

Happy Honey

18 Sep 07:25
Compare
Choose a tag to compare

Changelog

  • The tool now supports the Deneb upcoming fork
  • The tool now exposes minimal prometheus metrics (to be expanded in future PRs)

Database

  • The tool now supports pool-summaries through a trigger (when an entity is inserted into the t_eth2_pubkeys table)
  • The tool now stores the genesis time in the database, so as two different networks are not run in the same database
  • The tool now follows a set of database migrations (following changes will mean database version upgrades)

Merge both services into 1

  • Only one service
  • Remove second service .env variables
  • The service now download blocks and states sequentially (when we cross an epoch, download state)
  • Blocks are inserted into the state structure, so more metrics can be extracted
  • Rewards now take into account block rewards and withdrawals

Finality

  • Finality checkpoints are stored in the database now
  • Reorgs are identified and the tool rewinds and redownloads data when needed
  • Orphan blocks are inserted in a separate table

Docker Images

Contributors:

v1.0.0 - Giant Panda

28 Oct 23:24
ee11a53
Compare
Choose a tag to compare

General Description

This first v1.0.0 release compiles a stable Ethereum CL Validator rewards indexer. It includes:

  • Full Postgres integration for later data analysis
  • CL rewards support for Phase0, Altair, and Bellatrix
  • Indexing the max reward that a validator could have at a given epoch
  • The quality of the attestation for a validator at a given epoch based on the 3 attestation flags

What's Changed

  • Branch to calculate the participationRate based on BeaconState by @tdahar in #1
  • Feature/add db support by @tdahar in #2
  • Max Rewards in Altair by @tdahar in #3
  • Create a common wrapper across specs by @tdahar in #4
  • Create branch to track missing Target, source and head by @tdahar in #5
  • Optimize code to calculate metrics faster by @tdahar in #6
  • Refactor/standardize specs by @tdahar in #7
  • Feature/additional metrics by @tdahar in #8
  • Improvement/int calculation by @tdahar in #9
  • Fix/stored metrics by @tdahar in #11
  • update analyzer for safe-shutdown by @cortze in #13
  • Stable version optimizing DB interaction, DB total size and State processing times by @cortze in #12
  • Testing/add tests by @tdahar in #14
  • Update README + cleanup tool commands + Add unitary tests by @cortze in #15

New Contributors

Full Changelog: https://github.com/cortze/eth2-state-analyzer/commits/v1.0.0