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
andcaplin.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 than15gb
. It's ok torm -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
andPolygon
support in Erigon 2
References:
- Erigon3 book: https://docs.erigon.tech/
- Erigon3 blogpost: https://erigon.tech/erigon-3-alpha-1-the-first-all-in-one-evm-node-on-the-efficient-software-frontier-is-live/
Full Changelog: v3.0.0-alpha7...v3.0.0-beta1