github erigontech/erigon v3.0.0-beta1

pre-releaseone day ago

Documentation: docs.erigon.tech
Blog: erigon.tech/news
X/Twitter: x.com/ErigonEth

Breaking changes

  • Bor chains: enable checkpoint sync by default (name: Astrid)
    • This uses the merkle data in Checkpoints & Milestines in the sync process rather than total difficulty.
    • The process should auto upgrade - in which case you may find that it starts creating new snapshots for checkpoints and milestones.
    • This may however fail, as there are a number of potential edge cases. If this happens the process will likely stop with a failure message.
    • In this situation you will need to do a clean sync, in which case the complete snapshot set will be downloaded and astrid will sync.
    • If you want to prevent this and retain the old behaviour start erigon with --polygon.sync=false
  • caplin.backfilling.blobs, caplin.backfilling and caplin.archive are now --caplin.states-archive --capin.blobs-archive --caplin.blocks-archive

Description of the change

Erigon3 changes from Erigon2

  • Initial sync doesn't re-exec from 0: downloading 99% LatestState and History
  • Per-Transaction granularity of history (Erigon2 had per-block). Means:
    • Can execute 1 historical transaction - without executing it's block
    • If account X change V1->V2->V1 within 1 block (different transactions): debug_getModifiedAccountsByNumber return
      it
    • Erigon3 doesn't store Logs (aka Receipts) - it always re-executing historical txn (but it's cheaper)
  • Validator mode: added. --internalcl is enabled by default. To disable use --externalcl.
  • Built-in Bor Consens: named Astrid. Enabled by default. To disable use --polygon.sync=false. Require re-sync.
  • --prune flags changed: see --prune.mode (default: full, archive: archive, EIP-4444: minimal)
  • Store most of data in immutable files (segments/snapshots):
    • can symlink/mount latest state to fast drive and history to cheap drive
    • chaindata is less than 15gb. It's ok to rm -rf chaindata. (to prevent grow: recommend --batchSize <= 1G)
  • Other changes:
    • ExecutionStage included many E2 stages: stage_hash_state, stage_trie, log_index, history_index, trace_index
    • Restart doesn't loose much partial progress: --sync.loop.block.limit=5_000 enabled by default

Require resync

  • no

Notes:

  • Starting with beta1 we're deprecating Caplin and Polygon support in Erigon 2

References:

Full Changelog: v3.0.0-alpha7...v3.0.0-beta1

Don't miss a new erigon release

NewReleases is sending notifications on new releases.