github erigontech/erigon v2021.07.04
2021.07.04-alpha

latest releases: v2.60.226, v2.60.10, v2.60.9...
3 years ago

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 --prunereplaces --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 by eth_getLogs and similar RPC methods)
  • t - prune transaction by it's hash index
  • c - prune call traces (used by trace_* 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

Don't miss a new erigon release

NewReleases is sending notifications on new releases.