Releases: erigontech/erigon
2021.07.05-alpha
XDG in the Docker images
🚨 This is a breaking change if you use our Docker images.
It moves the default data dir from /var/lib/erigon
to /home/erigon/.local/share/erigon
.
If you mount your data and use our own docker images, you need to change the mount point to avoid re-syncing!
If you already setup your data dir to a custom directory -- no action is required.
If you don't use our docker images -- no action is required.
Changelog
-
fixes for EIP-1559 in pending transactions,
eth_getTransactionByHash
, -
fix for
debug_traceTransaction
#2433 -
fixes for intrinsic gas in
trace_
methods #2440 -
fixup for
eth_syncing
on the block 0 -
fixes for
trace_call
andtrace_callMany
methods -
Sokol support improvements
-
Breaking change: Docker builds now follow XDG spec (data in
/home/erigon/.local/share/erigon
) #2437
SHA256
reproducible builds in Docker aren't functional at the moment
2021.07.04-alpha
London Hardfork & Ropsten Consensus Issue
Please upgrade your nodes to 2021.07.04 before London hardfork!
Recently uncovered consensus bug in geth, nethermind and erigon affects mainnet too!
This bug is fixed in this (2021.07.04) release.
If you want to repair your Ropsten nodes without resync
If you are on mainnet, no need to repair anything.
Follow these steps accurately:
-
upgrade to 2021.07.04
-
run your node with
--bad.block 10679538
option -
wait patiently for the node to unwind, find proper peers and re-sync from the bad block. can take quite some time and might look like it is stuck on
[4/18 Bodies] Wrote block bodies
-
restart your node WITHOUT
--bad.block
option.
Pruning
New flag --prune
replaces --storage-mode
.
--prune
is an INVERSION of --storage-mode
Examples:
--storage-mode=h
=> "keep history";--prune=h
means "PRUNE history".- if you using
--storage-mode=ht
the equivalent is--prune=rc
New flag docs:
h
- prune history (ChangeSets, HistoryIndices - used by historical state access)r
- prune receipts (Receipts, Logs, LogTopicIndex, LogAddressIndex - used byeth_getLogs
and similar RPC methods)t
- prune transaction by it's hash indexc
- prune call traces (used bytrace_*
methods)
By default, --prune
deletes data older than 90K blocks from the tip of the chain (aka, for if tip block is no. 12'000'000, only the data between 11'910'000-12'000'000 will be kept).
Thus could be overridden by --prune.<mode>.older
flags.
E.g. --prune.h.older=1000000
keeps the last 1'000'000 historical entries.
--prune=
(empty list) means no pruning (full archive mode).
Breaking change in Dockerfile - user is not Root anymore
Please see changes here: https://github.com/ledgerwatch/erigon/pull/2397/files
Changelog
-
pruning! (see #2399)
-
default
docker-compose
now can do RPCDaemon in local-mode in another container. PR #2392 (kudos to https://github.com/mariuspod for the fixup!) -
no annoying "peer not found" error
-
a fixup for Ropsten consensus issue (see the PR here)
-
fixes in
trace_replayTransaction
,trace_replayBlock
-
broadcast local pooled transactions
-
remove preimage recording
-
batches in streamable RPC requests
-
improvements for Sokol
SHA256
reproducible builds in Docker aren't functional at the moment
2021.07.03-alpha
DockerHub image
thorax/erigon
- docker-compose changed name of image from turbo-geth to
thorax/erigon
- Inside docker changed datadir to
/var/lib/erigon
Changelog
-
eth_syncing
-- show progress stage by stage -
remove ETL tmp files more aggressive
-
continue work on Sokol network support - we need it to build more flexible consensus API
-
improvements for tx pool propagation
-
EIP-1559 support in
eth_call
andtrace_*
APIs -
include London blocks in the configuration
-
workaround for hitting gRPC limits for the
txpool_content
call
SHA256
reproducible builds in Docker aren't functional at the moment
2021.07.02-alpha
Repairing receipts
Who are affected
- if you synced on 2021.06.04 or earlier, and upgraded the node to 2021.06.05 at some point.
Who are NOT affected
-
if you are still on 2021.06.04
-
if you synced your node on Erigon 2021.06.05 or later;
If you are affected, your receipts could be damaged.
We provide an utility to fix the receipts in the db:
make hack
./build/bin/hack --action scanReceipts --chaindata <datadir>/erigon/chaindata
Changelog
-
--rpc.batch.concurrency
flag -
receipts repairing utility
-
sentry improvements
-
fixups for
debug_traceTransaction
-
trace_call
is about 2x faster -
fixup for transaction propagation with an external sentry
-
enable private rpc endpoint by default, allowing hybrid mode for the roc daemon out of the box
-
don't crash rpcdaemon on streamable WS (we don't support them still, but at least the app doesn't crash on them)
SHA256
reproducible builds in Docker aren't functional at the moment
2021.07.01-alpha
Changelog
-
London: add GasPrice for the DynamicFeeTransaction
-
--blockDownloaderWindow
cli option, to be able to sync on lower RAM machines, (8 Gb) -
fix for receipts status #2250
-
add effective gas price to
eth_getTransactionReceipt
andeth_getBlockReceipts
-
fix new tx propagation for external sentry (
sendRawTransaction
) -
eth_chainID
alias foreth_chainId
for better compatibility -
partial support for
trace_replayTransaction
andtrace_replayBlockTransactions
, only state diffs -
fixup for
eth_call
, set max gas by default
SHA256
reproducible builds in Docker aren't functional at the moment
2021.06.05-alpha
Long Migrations
- recovering broken receipts: ~35m
Changelog
-
fix range for
eth_getLogs
-
performance improvements for
eth_getLogs
-
fix for a regression that led to a state corruption for some users
-
remove
root
frometh_getTransactionReceipt
-
add a migration to recover potentially broken receipts in the db
-
fix a regression with the
localhost
origin -
STOP_BEFORE_STAGE
environment variable in case anyone wants a partially synced node (could be useful for issue debugging) -
net_peerCount
is implemented (both external and internal sentries) -
now it is possible to build Erigon on Windows without extra DLL, and without having admin priviledges
-
fix for a deadlock when using external Sentry
SHA256
reproducible builds in Docker aren't functional at the moment
2021.06.04-alpha
LMDB support is removed in this release
If you want to keep using LMDB, you need to keep the old version. We don't have any plans to go back to LMDB now, so we recommend you to migrate and resync using MDBX.
Changelog
-
trace.compat
for full (including bugs) compatibility with Open Ethereum fortrace_
routines -
better OE compatibility for
trace_call
andtrace_callMany
-
fixup for potential hang of recovering senders sync stage
-
London testnet support
-
LMDB support removed
-
fix a concurrency crash in header downloading #2175
-
fixes for gas price oracle for EIP-1559 #2173
-
enable eth/65 p2p protocol by default (to be trackable using ethernodes and other services that don't support eth/66 yet)
-
build all Erigon executables on Windows #2163
-
add
--maxpeers
cli option -
support ws compression in the RPC daemon
-
saving panic stack traces into a file for further diagnostics
SHA256
reproducible builds in Docker aren't functional at the moment
2021.06.03-alpha
trace_filter
index corruption in 2021.05.04 -- upgrade your node ASAP
if you are on 2021.06.01 or later, no action needed.
This update is time sensitive, if you synced your node recently using 2021.05.04, update your node ASAP.
That way our fix will be able to fix the index w/o having to resync your node.
If you didn't upgrade from 2021.05.04 to 2021.06.01, 2021.06.02 or 2021.06.03 until ~June, 10th, you need to resync your node to keep trace_filter
functional.
Changelog
-
fix for the node name in p2p #2129 (should now show up on ethernodes.org, etc) (shout out to MariusVanDerWijden)
-
return memory metrics #2117
-
begin working on the Sokol testnet support; not functional yet.
-
staged sync improved test coverage (and bug fixes)
-
batch requests in the RPCDaemon #2105
-
more code cleanup
SHA256
reproducible builds are broken in this release, we know that and we are working on fixing that
2021.06.02-alpha
Hotfix for 2021.06.01
- fixed the migration on the clean DB
There was a regression in 2021.06.01, causing the node to crash on startup on an empty DB. This version fixes it.
2021.06.01 changelog
Legacy Downloader Is Removed
No more flag --download.v2
.
trace_filter
index corruption -- upgrade your node ASAP
This update is time sensitive, if you synced your node recently using 2021.05.04, update your node ASAP.
That way our fix will be able to fix the index w/o having to resync your node.
If you didn't upgrade from 2021.05.04 to 2021.06.01 until ~June, 10th, you need to resync your node to keep trace_filter
functional.
Changelog
-
fix for the
trace_filter
index corruption -
more work on London hardfork
-
switch Baikal devnet to Cavaleras devnet
-
more work on Sentry
-
fix reproducible builds
-
staged sync bugfixing & more test coverage
-
improvements for windows builds #2054
-
eth_gasPrice
crash fixup #2031 -
legacy downloader is removed,
--download.v2
flag is removed -
a lot of code cleanup
SHA256
tool | sha256 | validation command |
---|---|---|
./bin/erigon | 7b2328b7c4d4ca63a5ffaa658bbd6268422e904e0ef531222936e31ecc4cbe21 |
make docker && docker run turbo-geth:latest sha256sum /usr/local/bin/erigon |
./bin/rpcdaemon | 163c53c6b1b22bbcc84fee7ef2d51ced7b232630e69ee1b3312f231d5bdb4d9e |
make docker && docker run turbo-geth:latest sha256sum /usr/local/bin/rpcdaemon |
It should be the same if building on Linux with go 1.16.
2021.06.01-alpha
Legacy Downloader Is Removed
No more flag --download.v2
.
trace_filter
index corruption -- upgrade your node ASAP
This update is time sensitive, if you synced your node recently using 2021.05.04, update your node ASAP.
That way our fix will be able to fix the index w/o having to resync your node.
If you didn't upgrade from 2021.05.04 to 2021.06.01 until ~June, 10th, you need to resync your node to keep trace_filter
functional.
Changelog
-
fix for the
trace_filter
index corruption -
more work on London hardfork
-
switch Baikal devnet to Cavaleras devnet
-
more work on Sentry
-
staged sync bugfixing & more test coverage
-
improvements for windows builds #2054
-
eth_gasPrice
crash fixup #2031 -
legacy downloader is removed,
--download.v2
flag is removed -
a lot of code cleanup
SHA256
tool | sha256 | validation command |
---|---|---|
./bin/erigon | 112476d74630e04c4ce3cb9240ccb5db5cb444380c8178a4d3e550e18355b6af |
make docker && docker run turbo-geth:latest sha256sum /usr/local/bin/erigon |
./bin/rpcdaemon | 3ec9d0e7416a93398a3e66d100e4b47c049538c2bd096965c00e062f8eb979bd |
make docker && docker run turbo-geth:latest sha256sum /usr/local/bin/rpcdaemon |
It should be the same if building on Linux with go 1.16.