Skip to content

Releases: erigontech/erigon

v2.60.9

25 Oct 14:46
501a53b
Compare
Choose a tag to compare

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:

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

23 Oct 15:20
78f3647
Compare
Choose a tag to compare
v3.0.0-alpha5 Pre-release
Pre-release

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
  • Sync does not work on bor mainnet

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

27 Sep 11:34
c0d9a2b
Compare
Choose a tag to compare
v3.0.0-alpha4 Pre-release
Pre-release

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

2.60.8

16 Sep 16:07
dec9d20
Compare
Choose a tag to compare

Highlights

This release schedules the Ahmedabad hardfork for the Polygon mainnet and the Gandhinagar hardfork for Amoy. Thus it's mandatory for all Polygon users.

This release also fixes Issue #11936 debug trace RPC error in Polygon Amoy.

Full Changelog: 2.60.7...2.60.8

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.