Releases: erigontech/erigon
v3.1.0-rc1 "Pebble Paws"
3.1.0 Pebble Paws
Erigon 3.1.0 Pebble Paws is a significant update for node operators and validators, focusing on stability, performance, and efficiency. This release introduces several new features and optimizations, including the default enabling of receipt persistence, a smarter snapshots downloader, and numerous consensus layer improvements and official support for Shutter Network on Gnosis Chain.
Breaking changes
- Port of external RPCDaemon now uses the same WebSocket port as the default for Erigon. (#15643)
- Docker Images: Docker images are now based on Debian. (#16228)
- Go Language Version: The required Go version is now golang 1.24.
- Receipt Persistence: The
--persist.receipts
flag is now enabled by default (more details are provided below). - Pebble Paws will be the last Erigon release series to officially support Polygon.
How to upgrade
Erigon 3.1 Pebble Paws will work flawlessly with old data. For those who want to ensure they have the absolute latest data files and any recent data-specific fixes, you can optionally perform a manual data upgrade. After upgrading your Erigon binary and having done a back-up of your data directory, just run the command erigon snapshots reset --datadir /your/datadir
.
Key features
Disk Footprint and Management
Several improvements furtherly reduced the size of the Ethereum archive nodes while actually storing more data, making the nodes more cost-effective and easier to manage:
-
The
--persist.receipts
flag is now enabled by default for Full and Minimal nodes. This downloads pre-calculated receipts, ensuring a consistent and predictable latency, meaning a more reliable system when interacting with the network, especially during high-traffic periods, and a 10x faster RPC for calls likeeth_getLogs
.- The size of the receipts is 300 GB for the Ethereum mainnet, 1 TB for the Polygon bor-mainnet, and 200 GB for the Gnosis Network. However, this can be disabled with the command
--persist.receipts=false
. In this case, the RPC calls will generate receipts on demand from the StateHistory. (#16040).
- The size of the receipts is 300 GB for the Ethereum mainnet, 1 TB for the Polygon bor-mainnet, and 200 GB for the Gnosis Network. However, this can be disabled with the command
-
The size of
.ef
files was reduced by 50% with better encoding, resulting in smaller archive nodes. (#12907) -
Rolled out phase 1 of history expiry, allowing nodes to drop pre-merge data, which significantly reduces storage requirements and simplifies node maintenance. (#15668)
-
Efficiently upgrade the existing data using the new
snapshots update
andsnapshots reset
commands, reducing node downtime and resource usage while avoiding a full re-sync. -
Several optimization have been implemented to reduce latency, lower disk I/O, and optimize VM and snapshot operations, resulting in faster, more efficient node operation and easier maintenance (#14135, #14902, #15115, #15092, #16140).
Networking and Performance
-
Faster and more reliable syncing: the new Bittorrent web seed implementation downloads entire files in a single stream instead of making many small-range HTTP requests, resulting in faster syncing, reduced server load, improved CDN compatibility, and enhanced protection against DDoS attacks. The downloader now automatically switches sources if the snapshot set becomes inaccessible, and once the snapshot files are downloaded, they are marked as read-only to prevent accidental corruption. Torrent logging and status outputs have been upgraded, offering clearer real-time insights into sync speed, estimated completion times, and the root causes of any synchronization stalls. (#15043)
-
A new configuration flag now enables independent tuning of web seeding and peer-to-peer (P2P) download speeds, delivering more control over how data is sourced and transferred. (#15912)
-
Improved and more reliable experience with faster, more accurate RPC responses, improved error handling, and broader support for new features and tools. (#13795, #13947, #14075, #14093, #14105, #14152, #14803, #14915, #14994, #15948, #16029, #16101)
-
Smoother Polygon Network experiences with faster syncing, improved reliability, and better compatibility, thanks to a series of targeted bug fixes and optimizations. (#14056, #14080, #13845, #13807, #15595, #16160, #16035, #15538)
-
The new probabilistic filter makes historical queries much faster and more efficient. (#15960)
Protocol
-
Improved Caplin (Consensus Layer) reliability and performance with enhanced slot processing, better peer management, optimized block and attestation handling, new validator deposit toolingAore efficient reorg support. These updates provide smoother network participation, easier validator operations, and improved responsiveness. (#13825, #13858, #13883, #13893, #14158, #14128, #14913, #16084, #16083, #16219, #14890, #14875)
-
Engine API and EIP Support: This release includes new Engine API methods like GetBlobsV1 and GetBlobsV2. It also implements various Ethereum Improvement Proposals (EIPs) related to blobs and gas, ensuring compatibility with upcoming network changes. (#13975, #15420)
-
Added support for the latest protocol upgrades and features—delivering improved compatibility, security, and performance for users. (#14705, #14702, #14672, #15093, #15148, #15450, #15067, #15399, #15519, #15532, #15609, #15688, #14213)
Shutter Network
-
Official support for Shutter Network has been added to Erigon Validators on Gnosis Chain, helping prevent malicious Maximal Extractable Value (MEV) attacks by enabling the use of encrypted transactions. (#13725, #13864, #13865, #13983, #14187, #16505, #16554, #16561, #16592, #16590)
-
Further information can be found at https://github.com/erigontech/erigon/tree/release/3.1/txnprovider/shutter#shutter
QA and Testing
v3.0.15 "Otterly Odyssey"
Description of the change
Breaking Changes:
flag experimental.commitment-history
was renamed to --prune.experimental.include-commitment-history
Improvements:
- Added pending enpoints by @Giulio2002 in #16233
- Improved consistency in bor block snapshots retiring process by @eastorski in #16198
- Added validation of ordering and consistency for state sync events inside the scraper by @eastorski in #16227
Bugfixes:
- Fixed sprint length check in block processing (#15801) by @eastorski in #15932
Full Changelog: v3.0.14...v3.0.15
v3.0.14 "Otterly Odyssey"
v3.0.13 "Otterly Odyssey"
Description of the change
Improvements:
- Optimised snapshot read operations for BorEvents by @eastorski in #15993
- Added a mechanism for Polygon to continue syncing blocks if Heimdall is unavailable during migration by @eastorski in #16018
- eth_getLogs: r_lru: no clone by @AskAlexSharov in #15998
- eth_getLogs: receipt_generator: to use lru even if
rcache
enabled by @AskAlexSharov in #15997 - eth_getLogs: blockReader: add
RPC_HEADER_BY_NUM_LRU
on ancient files only by @AskAlexSharov in #15999 - derive bloom for cached receipt by @sudeepdino008 in #15936
Bugfixes:
Full Changelog: v3.0.12...v3.0.13
v3.0.12 "Otterly Odyssey"
Description of the change
The default gas limit for Ethereum Mainnet is increased to 45M in line with other clients.
Improvements:
- Rolled out history expiry phase1 by @Giulio2002 in #15827
- Added chain-specific gas limit defaults by @Giulio2002 in #15802
Bugfixes:
- Fixed milestone pruning and fixed BorEvents snapshots by @eastorski in #15914
Full Changelog: v3.0.10...v3.0.12
v3.0.11 "Otterly Odyssey"
Description of the change
Polygon users: this is a required update for Bhilai hardfork
Full Changelog: v3.0.10...v3.0.11
v3.0.10 "Otterly Odyssey"
Description of the change
Polygon users: this is a required update for the Heimdall V2
Bugfixes:
- execution: fix potential limitedBigJump calc uint underflow in UpdateForkChoice - can cause long pruning at chain tip by @taratorio in #15748
- Fix to Erigon to match Bor support for skipped events created by the Heimdall V1->V2 upgrade by @eastorski in #15795
Full Changelog: v3.0.9...v3.0.10
v3.0.9 "Otterly Odyssey"
Description of the change
Polygon users: this is a required update for the Heimdall V2
Bugfixes:
- Fix post Heimdall v2 sync stall by @mh0lt in #15735
- Fixed span list api url by @eastorski in #15741
- add small prune timeout (not 10 mins) by @mh0lt in #15744
Full Changelog: v3.0.8...v3.0.9
v3.0.8 "Otterly Odyssey"
Description of the change
Polygon users:
- Support Heimdall V2 upgrade by @eastorski in #15697
Full Changelog: v3.0.7...v3.0.8
v3.0.7 "Otterly Odyssey"
Description of the change
Polygon users: this is a required update for the upcoming Bhilai hardfork scheduled for 01 July 2025.
Bugfixes:
- Fix datadir execution permissions for multi-user setups (#15594) by @anacrolix in #15602
Full Changelog: v3.0.6...v3.0.7