Skip to content

Releases: erigontech/erigon

2.60.7

09 Sep 14:16
93016a9
Compare
Choose a tag to compare

Breaking change:

Release process:

Starting this release we're introducing some changes to our release process:

  • release version without prefix “v” in a docker tags, released artifacts, git tag, etc.;
  • released archives now includes 10 binaries: erigon, downloader, devnet, evm, caplin, diag, integration, rpcdaemon, sentry, txpool;
  • released docker image now includes 7 binaries: erigon, integration, diag, sentry, txpool, downloader, rpcdaemon (same binaries as built for released archives just baked to the docker image);
  • docker images will be released on Dockerhub repository “erigontech/erigon”. Previous images, released in repository “thorax/erigon” will remain as is. We are not planning to copy old images to the new dockerhub repository.
  • multi-platform docker image available for linux/amd64/v2 and linux/arm64 platforms and based on alpine:3.20.2; No need to pull another docker image for another different platform.
  • docker images now contains label “org.opencontainers.image.revision” which refer to commit id from the erigon project, used to build artifacts.
  • all build flags now passed to the release workflow — so, user can see previously missed build info in our released binaries (as well as in docker images) and also better build optimization expected;
  • We are not publishing Windows binaries as it requires some work. We will publish it again once it will work as expected. Meanwhile Windows users can build erigon binaries locally on Windows machines.

Description of the change

Improvements:

Bugfixes:

  • Fix bor-heimdall stall after chaindb removal by @manav2401 in #11863
  • Fix regression stack dump: the stack in some trace/debug api is dumped again in hex no more in decimal due to regression by @lupin012 in #11810
  • fix panic issue in initializeStateAntiquaryIfNeeded (#11608) by @domiwei in #11624
  • Incorrect prestate balance for Blob-commit transactions #11368 by @somnathb1 in #11650
  • Fixes Incorrect balance stateDiff for trace_call #7200, and introduces change in behaviour of sender balance in trace_call @somnathb1 in #11813

Full Changelog: v2.60.6...2.60.7

3.0.0-alpha3

05 Sep 10:09
92d8c17
Compare
Choose a tag to compare
3.0.0-alpha3 Pre-release
Pre-release

Breaking change

Release process:

Starting this release we're introducing some changes to our release process:

  • release version without prefix “v” in a docker tags, released artifacts, git tag, etc.;
  • released archives now includes 10 binaries: erigon, downloader, devnet, evm, caplin, diag, integration, rpcdaemon, sentry, txpool;
  • released docker image now includes 7 binaries: erigon, integration, diag, sentry, txpool, downloader, rpcdaemon (same binaries as built for released archives just baked to the docker image);
  • docker images will be released on Dockerhub repository “erigontech/erigon”. Previous images, released in repository “thorax/erigon” will remain as is. We are not planning to copy old images to the new dockerhub repository.
  • multi-platform docker image available for linux/amd64/v2 and linux/arm64 platforms and based on alpine:3.20.2; No need to pull another docker image for another different platform.
  • docker images now contains label “org.opencontainers.image.revision” which refer to commit id from the erigon project, used to build artifacts.
  • all build flags now passed to the release workflow — so, user can see previously missed build info in our released binaries (as well as in docker images) and also better build optimization expected;
  • We are not publishing Windows binaries as it requires some work. We will publish it again once it will work as expected. Meanwhile Windows users can build erigon binaries locally on Windows machines.

Description of the change

Require resync

Yes

Improvements:

  • Sync now including .idx files (indices). Erigon downloding them instead of re-generating
  • Starup time fixed
  • Too high read-IO fixed
  • latest state (domain folder) size reduced by 30% (~200gb on bor-mainnet)
  • 2x reduced chaindata: 12Gb on eth-mainnet, 32Gb on bor-mainnet
  • 2x less RAM: 25Gb on eth-mainnet, 40Gb on bor-mainnet. We will reduce it in future
  • mining suppport
  • prune doesn't impact chain-tip performance
  • new CI for binary artifacts release. and docker.

Known problems

  • trace_callMany multiple txs support: #11798

v2.60.6

14 Aug 09:33
d24e5d4
Compare
Choose a tag to compare

Improvements:

Bugfixes:

Full Changelog: v2.60.5...v2.60.6

v3.0.0-alpha2

06 Aug 12:02
6124a58
Compare
Choose a tag to compare
v3.0.0-alpha2 Pre-release
Pre-release

Key features

alpha2 focuse on initial sync:

  • Erigon becomes "Evergreen": it can download latest files even if you not using latest Erigon version
  • We starting release files near chain-tip (10K-100K blocks)

Numbers from 128Gb RAM, 16CPU, NVMe machine:

Screenshot_2024-08-01_alle_11 35 03

If you have any perf problems on chain-tip - first please rm -rf chaindata - likely it will help. If not - report us issue.

alpha3 will focus on chain-tip perf and peak RAM usage.

Upgrade from Erigon3-alpha1

amoy - pleas re-sync. other chains can upgrade without re-sync.

Roadmap

Next release will focus on "chain-tip" performance and peak RAM reduction.

v2.60.5

26 Jul 09:42
ea49def
Compare
Choose a tag to compare

Improvements:

Bugfixes:

Full Changelog: v2.60.4...v2.60.5

v3.0.0-alpha1

23 Jul 15:01
6df3f87
Compare
Choose a tag to compare
v3.0.0-alpha1 Pre-release
Pre-release

Erigon3 user guide

RAM requirement is higher: 64gb. We will reduce it in next releases.

Golang 1.21

Almost all RPC methods are implemented - if something doesn't work - just drop it on our head.

Supported networks: all (except Mumbai).

E3 changes from E2:

  • Sync from scratch doesn't require re-exec all history. Latest state and it's history are in snapshots - can download.
  • ExecutionStage - now including many E2 stages: stage_hash_state, stage_trie, stage_log_index, stage_history_index,
    stage_trace_index
  • E3 can execute 1 historical transaction - without executing it's block - because history/indices have
    transaction-granularity, instead of block-granularity.
  • E3 doesn't store Logs (aka Receipts) - it always re-executing historical txn (but it's cheaper then in E2 - see point
    above). Known perf issues: #10747
  • --sync.loop.block.limit is enabled by default. (Default: 5_000.
    Set --sync.loop.block.limit=10_000 --batchSize=2g to increase sync speed on good hardware).
  • datadir/chaindata is small now - to prevent it's grow: we recommend set --batchSize <= 2G. And it's fine
    to rm -rf chaindata
  • can symlink/mount latest state to fast drive and history to cheap drive
  • Archive Node is default. Full Node: --prune.mode=full, Minimal Node (EIP-4444): --prune.mode=minimal

Known Problems of E3:

  • eth_getLogs fields index always 0: #10324

E3 datadir structure

datadir        
    chaindata   # "Recently-updated Latest State" and "Recent History"
    snapshots   
        domain    # Latest State: link to fast disk
        history   # Historical values 
        idx       # InvertedIndices: can search/filtering/union/intersect them - to find historical data. like eth_getLogs or trace_transaction
        accessors # Additional (generated) indices of history - have "random-touch" read-pattern. They can serve only `Get` requests (no search/filters).
    temp # buffers to sort data >> RAM. sequential-buffered IO - is slow-disk-friendly
   
# There is 4 domains: account, storage, code, commitment 

E3 can store state on fast disk and history on cheap disk

If you can afford store datadir on 1 nvme-raid - great. If can't - it's possible to store history on cheap drive.

# place (or ln -s) `datadir` on slow disk. link some sub-folders to fast disk.
# Example: what need link to fast disk to speedup execution
datadir        
    chaindata   # link to fast disk
    snapshots   
        domain    # link to fast disk
        history   
        idx       
        accessors 
    temp   

# Example: how to speedup history access: 
#   - go step-by-step - first try store `accessors` on fast disk
#   - if speed is not good enough: `idx`
#   - if still not enough: `history` 

E3 datadir size

# eth-mainnet - archive - April 2024

du -hsc /erigon/* 
6G  	/erigon/caplin
50G 	/erigon/chaindata
1.8T	/erigon/snapshots
1.9T	total

du -hsc /erigon/snapshots/* 
100G 	/erigon/snapshots/accessor
240G	/erigon/snapshots/domain
260G	/erigon/snapshots/history
410G	/erigon/snapshots/idx
1.7T	/erigon/snapshots
# bor-mainnet - archive - Jun 2024

du -hsc /erigon/* 

160M	/erigon/bor
50G 	/erigon/chaindata
3.7T	/erigon/snapshots
3.8T	total

du -hsc /erigon/snapshots/* 
260G	/erigon-data/snapshots/accessor
850G	/erigon-data/snapshots/domain
650G	/erigon-data/snapshots/history
1.4T	/erigon-data/snapshots/idx
4.1T	/erigon/snapshots

See also: https://github.com/erigontech/erigon?tab=readme-ov-file#erigon3-users-guide

Upgrade from Erigon2

No. Please re-sync.

v2.60.4

17 Jul 11:39
72ab70b
Compare
Choose a tag to compare

Changes:

  • PIP-35 for amoy: enforce 25gwei gas config for amoy for erigon 2 by @manav2401 in #11078

Full Changelog: v2.60.3...v2.60.4

v2.60.3

08 Jul 14:22
1f73ed5
Compare
Choose a tag to compare

Improvements:

  • eth/tracers: add optional includePrecompiles flag to callTracer - default true is preserved by @taratorio in #10986
  • turbo/jsonrpc: add optional includePrecompiles flag to trace_* apis by @taratorio in #10979

Bugfixes:

Full Changelog: v2.60.2...v2.60.3

v2.60.2

26 Jun 11:06
2f41075
Compare
Choose a tag to compare

Bugfixes:

  • Revert breaking change to eth_estimateGas introduced in v2.60.1 (#10904) as we added a better fix for gas fee calculation in debug calls by @mininny in #10880
  • Fix potential p2p shutdown hangup by @mh0lt in #10626
  • Downloader: fix staticpeers flag by @dvovk in #10798
  • rpc: Fix incorrect txfeecap by @shohamc1 in #10643

Full Changelog: v2.60.1...v2.60.2

v2.60.1

04 Jun 13:55
9471c44
Compare
Choose a tag to compare

Breaking change:

  • 2nd argument blockNrOrHash was removed from eth_estimateGas. Moreover, eth_estimateGas now correctly defaults MaxFeePerGas to block's base fee by @yperbasis in #10499

Improvements:

Bugfixes:

  • Previously eth_callMany and other RPC endpoints could have been wrong because baseFee was overwritten by maxFeePerGas. Fixed by @marshalys in #10456
  • Fixed "method handler crashed" for debug_traceCall (Issue #9090) fixed by @marshalys in #10502
  • Fix a regression with json marshalling of checkpoints causing root hash to be 0 and triggering unwinds by @taratorio in #10530
  • Fix unintended polygon bor miner gas price and txpool price limit sanitization on ethereum by @taratorio in #10420
  • Enable DNS p2p discovery on holesky by @wmitsuda in #10460
  • p2p/sentry: sentry doesn't start with ErrNoHead (#10454) by @battlmonstr in #10523
  • Caplin: Proper "Normalization" of length of ForkVersions to 8 hex characters by @Giulio2002 in #10578
  • bor blocks retire: infinity loop fix by @AskAlexSharov in #10596
  • txpool: EIP-3860 should only apply to create transactions by @yperbasis in #10609

Full Changelog: v2.60.0...v2.60.1