Skip to content

EXPERIMENTAL Tree States v4.6.222

Pre-release
Pre-release
Compare
Choose a tag to compare
@github-actions github-actions released this 31 Jan 04:30
· 106 commits to stable since this release
v4.6.222-exp
25bcd2a

Disclaimer

⚠️ You should not run this alpha release supporting mainnet validators ⚠️

If you are looking for the latest Lighthouse release please go to https://github.com/sigp/lighthouse/releases/latest.

Summary

This is an alpha release of upcoming changes to Lighthouse which improve disk usage and state management.

We are making this alpha release so that expert users may help us test these improvements. It is not backwards-compatible and not recommended for mainnet validators. Our current plan is to stabilise these changes shortly after the Deneb hard fork on mainnet.

For the adventurous, the main benefits are:

  • Smaller disk footprint for archive nodes, <200GB total. Use checkpoint sync, and set the flag --reconstruct-historic-states.
  • Smaller disk footprint for regular nodes, <30GB.
  • Faster handling of re-orgs.
  • Faster restarts.
  • Less disk I/O.

We hope that this is useful for running block explorers and supporting other beacon chain analytics. We are using it internally at SigP to run some of our analytics.

This release includes all the latest changes from v4.6.0 including Deneb on Sepolia, Holesky and Chiado. Check out the release notes for v4.6.0 for more information.

In terms of tree-states specific changes, we have:

  • Support for lighthouse db prune-states (#5097).
  • Support for changing the hierarchy-exponents after pruning states.
  • Support for hierarchy-exponents that do diffs within a single epoch (e.g. --hierarchy-exponents "0,2,4,6,8").
  • Bugfix for database corruption during backfill sync (#5144).

⚠️ Backwards Compatibility ⚠️

This release is backwards compatible with v4.6.111-exp, v4.5.444-exp, v4.5.222-exp and v4.4.111-exp.

This release is not backwards compatible with stable Lighthouse or tree-states releases prior to v4.4.111-exp. It uses a different database schema (v24) for which no automatic upgrade or downgrade is implemented. We intend to implement an automatic upgrade process once the new schema is finalized. A re-sync might be required to run future versions of tree-states. This release's schema might be the final iteration.

Please only run this release if you are willing to re-sync now, and again in several weeks/months.

There are several breaking changes to CLI flags:

  • The secret dummy flag --unsafe-and-dangerous-mode must be supplied. This is to prevent accidental upgrades to the release by users who don't know what they're getting themselves into. Unfortunately we found that far too many people accidentally ran previous tree-states releases on mainnet.
  • The flags --slots-per-restore-point and --historic-state-cache-size are deprecated and no longer necessary due to the freezer database using hierarchical diffs.
  • The flag --db-migration-period from tree-states v4.2.0-999-exp release is gone and has been replaced by --epochs-per-migration (same name as stable).

Known Issues

Expect a few sharp edges. Some things you may run into:

  • WARN Parent state is not advanced is logged excessively during sync. This is harmless, albeit annoying.
  • Memory usage may be a bit higher when using the parallel HTTP cache (see #5112).

If you observe any panics, crashes or major performance regressions, please open an issue!

Building from source

Build the v4.6.222-exp tag.

All Changes

  • Tree states v4.6.222-exp (#5147)
  • Merge remote-tracking branch 'origin/unstable' into tree-states
  • fsync during backfill to prevent DB corruption (#5144)
  • Fix tree-states sub-epoch diffs (#5097)
  • Make lcli docker image portable (#5069)
  • Update to the docs (#5106)
  • fix: update outdated links to external resources (#5018)
  • Remove custom SSZ beacon states route (#5065)
  • Fix off-by-one in backfill sig verification (#5120)
  • Increase attestation cache sizes (#5135)
  • #5102 Fix load_state_for_block_production metric mapping (#5103)
  • Fix new CLI tests for tree-states (#5132)
  • Update Mergify commit message template (#5126)
  • Merge remote-tracking branch 'origin/unstable' into tree-states
  • Replace backticks with single quotes (#5121)
  • Bump versions (#5123)
  • Expose additional builder booster related flags in the vc (#5086)
  • Prevent rolling file appender panic (#5117)
  • Correct multiple dial bug (#5113)
  • Fix indices filter in blobs_sidecar http endpoint (#5118)
  • Backfill blob storage fix (#5119)
  • Correct discovery logic (#5111)
  • Gossipsub fanout correction (#5110)
  • Reduce size of futures in HTTP API to prevent stack overflows (#5104)
  • Small Readability Improvement in Networking Code (#5098)
  • Upgrade shlex to 1.3.0 (#5108)
  • Stop Penalizing Peers in Parent SingleBlobLookup (#5096)
  • set deneb fork on testnets (#5089)
  • Hold HeadTracker lock until persisting to disk (#5084)
  • Fix PublishBlockRequest SSZ decoding (#5078)
  • Bump h2 (#5085)
  • Remove blobs_db when purge-db (#5081)
  • Add Deneb readiness logging (#5074)
  • Critical dependency logging (#4988)
  • add tracing metrics layer for dependency logging (#4979)
  • Fix zero port error (#5021)
  • docs: fix typos (#5059)
  • Update teku's bootnodes (#5052)
  • add content-type octet stream helper fn (#5062)
  • Fix asset paths in release CI upload job (#5056)
  • Don't error on inactive indices in att. rewards

Binaries

See pre-built binaries documentation.

The binaries are signed with Sigma Prime's PGP key: 15E66D941F697E28F49381F426416DC3F30674B0

System Architecture Binary PGP Signature
x86_64 lighthouse-v4.6.222-exp-x86_64-apple-darwin.tar.gz PGP Signature
x86_64 lighthouse-v4.6.222-exp-x86_64-apple-darwin-portable.tar.gz PGP Signature
x86_64 lighthouse-v4.6.222-exp-x86_64-unknown-linux-gnu.tar.gz PGP Signature
x86_64 lighthouse-v4.6.222-exp-x86_64-unknown-linux-gnu-portable.tar.gz PGP Signature
aarch64 lighthouse-v4.6.222-exp-aarch64-unknown-linux-gnu.tar.gz PGP Signature
aarch64 lighthouse-v4.6.222-exp-aarch64-unknown-linux-gnu-portable.tar.gz PGP Signature
x86_64 lighthouse-v4.6.222-exp-x86_64-windows.tar.gz PGP Signature
x86_64 lighthouse-v4.6.222-exp-x86_64-windows-portable.tar.gz PGP Signature
System Option - Resource
Docker v4.6.222-exp sigp/lighthouse