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