Releases: erigontech/erigon
Releases · erigontech/erigon
v3.0.0-beta1
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
v2.61.0
Description of the change
Improvements:
- Up to date implementation of Pectra network fork specs till pectra-devnet-4 see https://notes.ethereum.org/@ethpandaops/pectra-devnet-4 https://eips.ethereum.org/EIPS/eip-7600
- Updated golang version for Dockerfile 1.22
Full Changelog: v2.60.10...v2.61.0
v2.61.0-rc1
Description of the change
Improvements:
- Up to date implementation of Pectra network fork specs till pectra-devnet-4 see https://notes.ethereum.org/@ethpandaops/pectra-devnet-4 https://eips.ethereum.org/EIPS/eip-7600
- Updated golang version for Dockerfile 1.22
Full Changelog: v2.61.0-beta1...v2.61.0-rc1
v3.0.0-alpha7
Description of the change
Improvements:
- Faster eth_getTransactionReceipt by @JkLondon with "txn-granularity cache" in #13134 and "executing only 1 txn" #12424
- Return PrunedError when trying to read unavailable historical data by @antonis19 in #13014
Bugfixes:
- Fix trace_block returning "insufficient funds" (Issues #12525 and similar) with standalone rpcdaemon by @yperbasis in #13129
Full Changelog: v3.0.0-alpha6...v3.0.0-alpha7
v3.0.0-alpha6
Breaking change
--prune.mode
default isfull
. For compatibility withgeth
and other clients. Plz set explicit
--prune.mode
flag to your Erigon3 setups - to simplify future upgrade/downgrade.- Released binaries for Linux are now dynamically linked (Issues: #12570, #12556 )
Description of the change
New features:
- Reduced
.idx
and.efi
files size by 25% (require re-sync) - debian packages
--externalcl
support- bor-mainnet can work on 32G machine
- Erigon3 book: https://development.erigon-documentation-preview.pages.dev/
Bugfixes:
eth_syncing
works on Bor chains- support upper-bounds at:
eth_accRange
#12609 ,erigon_getBalanceChangesInBlock
#12642,debug_getModifiedAccountsByNumber
#12634 eth_getLogs
fixfee cap less than block
#12640
Full Changelog: v3.0.0-alpha5...v3.0.0-alpha6
v2.61.0-beta1
Description of the change
Improvements:
- Up to date implementation of Pectra network fork specs till pectra-devnet-4 see https://notes.ethereum.org/@ethpandaops/pectra-devnet-4 https://eips.ethereum.org/EIPS/eip-7600
- Updated golang version for Dockerfile 1.22
Full Changelog: v2.60.10...v2.61.0-beta1
v2.60.10
Description of the change
Improvements:
- rpc p95: not reopen files when new created by @AskAlexSharov in #12514
Bugfixes:
- Trace API: commit state changes from InitializeBlockExecution by @yperbasis in #12559. Prior to this PR in callManyTransactions (invoked by trace_block) changes made by InitializeBlockExecution were discarded. That was immaterial before since no much was happening at the beginning of a block. But that changed in Dencun with EIP-4788. Fixes Issues #11871, #12092, #12242, #12432, #12473, and #12525.
Full Changelog: v2.60.9...v2.60.10
v2.60.9
Breaking change:
Release process:
- Returned prefix "v" to git tag, docker tags. Reason: compatibility with Golang's rules (go.mod)
- Switched to go 1.22 while building artifacts
- Docker images now use "debian:12.7-slim" as a base image
- From now onwards only the following three OS/Arch are supported: linux arm64, amd64(v1) and amd64v2
- Artifacts for amd64 architecture are built and delivered with "silkworm" support (https://github.com/erigontech/silkworm)
Description of the change
Improvements:
- Type of error field in structlog logger differs from geth, alloy (#12089) by @taratorio in #12241
- dbg: env var for heap profile output file path by @taratorio in #12398
- rpcd no open before download by @AskAlexSharov in #12411
Bugfixes:
- Fixed Polygon OOM issue upon BadHeaders by @taratorio in #12405
- Fixed RPC error when calling debug_traceTransaction with borTraceEnabled at particular blocks by @shohamc1 in #12315
Full Changelog: 2.60.8...v2.60.9
v3.0.0-alpha5
Breaking changes:
- Format of Merkle Tree was changed
- Format and enumeration of Caplin's snapshots was changed
Improvements:
- Faster time on the tip of the chain
- Less time to download blobs needed
- Fixed crashes introduced by alpha4.
Known problems
- There is still some instability in the RPC
Require re-sync:
This release includes multiple breaking changes, and requires a full resync
Full Changelog: v3.0.0-alpha4...v3.0.0-alpha5
v3.0.0-alpha4
Breaking changes:
- New defaults:
--pporf.port=6060 --metrics.port=6061 --diagnostics.addr=localhost:6062
. Reason: in Erigon2 these flags used the same port and did conflict. - Add prefix "v" to git tag, docker tags. Reason: compatibility with Golang's rules (
go.mod
). - drop support of golang
1.21
Require re-sync:
- yes (if you need better performance on chain-tip)
Full Changelog: 3.0.0-alpha3...v3.0.0-alpha4