lighthouse

Ethereum consensus client in Rust

APACHE-2.0 License

Stars
2.8K
Committers
194

Bot releases are visible (Hide)

lighthouse - Goddess Beth

Published by github-actions[bot] over 1 year ago

Summary

This high-priority hot-fix address high CPU usage experienced after the Capella upgrade (April 12 UTC).

We recommend all mainnet users update to this release to prevent high CPU usage from interfering with normal node operations (e.g., staking).

This hot-fix only applies to the Beacon Node. There is no need to upgrade the Validator Client from v4.0.1 (or v4.0.1-rc.0) to this release.

Building from Source

This hot-fix is not yet applied to the unstable or stable branches. To build from source, use the hotfix-exit-verification branch (or checkout the v4.0.2-rc.0 tag).

Breaking Changes

There are no breaking changes in this release.

Update Priority

This table provides priorities for which classes of users should update particular components.

User Class Beacon Node Validator Client
Staking Users High Low
Non-Staking Users High ---

See Update Priorities more information about this table.

All Changes

  • Bump versions
  • Empty commit
  • Use head state for exit verification

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.0.2-rc.0-x86_64-apple-darwin.tar.gz PGP Signature
x86_64 lighthouse-v4.0.2-rc.0-x86_64-apple-darwin-portable.tar.gz PGP Signature
x86_64 lighthouse-v4.0.2-rc.0-x86_64-unknown-linux-gnu.tar.gz PGP Signature
x86_64 lighthouse-v4.0.2-rc.0-x86_64-unknown-linux-gnu-portable.tar.gz PGP Signature
aarch64 lighthouse-v4.0.2-rc.0-aarch64-unknown-linux-gnu.tar.gz PGP Signature
aarch64 lighthouse-v4.0.2-rc.0-aarch64-unknown-linux-gnu-portable.tar.gz PGP Signature
x86_64 lighthouse-v4.0.2-rc.0-x86_64-windows.tar.gz PGP Signature
x86_64 lighthouse-v4.0.2-rc.0-x86_64-windows-portable.tar.gz PGP Signature
System Option - Resource
Docker v4.0.2-rc.0 sigp/lighthouse
lighthouse - Campaign Manager Morty

Published by github-actions[bot] over 1 year ago

Summary

This release is mandatory for all mainnet users (except for those running v4.0.1-rc.0). It enables the Capella/Shanghai ("Shapella") upgrade (#4111), which will occur at April 12, 2023, 10:27:35pm UTC. Any node which is not updated to Lighthouse a v4.x.x release before 10:27pm on April 12th (UTC) will stop following the chain and will need to be resynced. For stakers, this would result in missed rewards and penalties.

For clarity, all mainnet Lighthouse users must be running a v4.x.x release on their BNs and VCs by April 12, 2023, 10:27:35pm UTC.

This release also contains various bug-fixes, optimisations and new features:

  • Improve the resilience of the fork choice algorithm (#3962)
  • Add a flag to speed up responses to the committees HTTP API (#4081)
  • Improve payload reconstruction by utilising a new execution engine API endpoint (#4028)
  • Reduce false-positive ERRO logs claiming that builder blocks were published late (#4073)
  • Fix a bug that resulted in a harmless ERRO Dialing an already dialing peer log (#4056)
  • Add support for IPv6 (#4046)

v4.0.0 Release Retracted

This release replaces the v4.0.0 release which was retracted due to the discovery of a bug. A v4.0.1-rc.0 hot-fix was published to patch that bug. That bug fix is also included in this release.

This release (v4.0.1) replaces both v4.0.0 and v4.0.1-rc.0.

We have the following advice for users:

  • Any node running v4.0.0 should immediately upgrade to this release since v4.0.0 is not reliable.
  • Any node running v4.0.1-rc.0 may choose to continue on that release or upgrade to this release. This release and the rc.0 release are functionally identical.
  • Any node running v3.5.1 or earlier should upgrade to this release at their next convenience (certainly before the Capella upgrade).

These release notes have been written with respect to v3.5.1 rather than the previous retracted release of v4.0.0.

Mainnet Capella/Shanghai ("Shapella") Upgrade

The Capella/Shanghai ("Shapella") upgrade will occur on mainnet at:

  • Epoch 194048
  • April 12, 2023, 10:27:35pm UTC

All Lighthouse Beacon Nodes and Validator Clients must be upgraded to a reliable v4.x.x release to ensure they follow the correct chain. The following table demonstrates which releases are reliable, Shapella-ready releases:

Release Is Reliable, Shapella-Ready v4.x.x Release
v3.5.1 ❌ No
v4.0.0 ❌ No
v4.0.1-rc.0 ✅ Yes
v4.0.1 ✅ Yes
Any release after v4.0.1 ✅ Yes

Preparation for the Shapella upgrade is much simpler than the preparation required for "The Merge" (Bellatrix). To be Shapella ready, users just need to:

  • Upgrade their Lighthouse BN(s) to a v4.x.x release.
  • Upgrade their Lighthouse VC(s) to v4.x.x release.
  • Upgrade their Execution Engine(s) to a Shanghai-ready release:

If your execution engine does not yet have a Shanghai-ready release then it is safe to upgrade Lighthouse to v4.x.x without also upgrading the execution engine. An up-to-date execution engine will be required before April 12th, though.

There are no new flags to be added or removed for the Shapella upgrade, simply upgrade and wait.

Lighthouse will start periodically emitting the following logs two weeks before the Shapella upgrade (29th of March):

  • Not ready for Capella if Lighthouse has detected that the execution engine is too outdated to support Shanghai.
  • Ready for Capella if Lighthouse has detected a modern execution engine release.

Just because Lighthouse is logging Ready for Capella does not indicate that your execution engine is on the correct version. There is no way for Lighthouse to determine this exactly and users are responsible for ensuring that their execution engine is using the latest release.

🐛 Known Issues 🐛

Fixed as of Erigon v2.42.0

There was a bug in Erigon v2.41.0 and earlier which caused Erigon to time out when paired with Lighthouse v4.0.1. This was reflected in the Lighthouse logs as an error log containing the phrase TimedOut, like this:

ERRO Error during execution engine upcheck error: Reqwest(reqwest::Error { kind: Request, url: Url { scheme: "http", cannot_be_a_base: false, username: "", password: None, host: Some(Ipv4(127.0.0.1)), port: Some(8551), path: "/", query: None, fragment: None }, source: TimedOut }), service: exec

The issue is resolved in Erigon v2.42.0 and later, see this issue for details: https://github.com/ledgerwatch/erigon/issues/7172.

Breaking Changes

There are no breaking changes between this release and v4.0.0 and v4.0.1-rc.0. The following changes are with reference to v3.5.1.

Breaking Change: Database Schema V16

To support changes to the fork choice algorithm, the database schema has been upgraded to v16. The schema upgrade will be applied automatically upon upgrading and should not take more than a few seconds.

To downgrade, follow the instructions in the book for Database Migrations.

Users may downgrade anytime before the Capella upgrade. Prior Lighthouse releases are not compatible with Capella, so downgrading is fundamentally impossible after the upgrade occurs.

Breaking Change: Minimum Supported Rust Version 1.66

The minimum supported Rust version has been set to 1.66. Users who compile from source (i.e., not Docker or pre-built binary users) will receive the following error if they are using an earlier version of Rust:

lighthouse v4.0.0 (/home/karlm/lighthouse/lighthouse)` cannot be built because it requires rustc 1.66 or newer

Users can typically obtain the latest version of Rust by running rustup update.

Update Priority

This table provides priorities for which classes of users should update particular components.

User Class Beacon Node Validator Client
Staking Users High High
Non-Staking Users High ---

See Update Priorities more information about this table.

All Changes

  • Release v4.0.1 (#4125)
  • Release Candidate v4.0.1-rc.0 (#4123)
  • Fix fork choice error message (#4122)
  • Release v4.0.0 (#4112)
  • Fork choice modifications and cleanup (#3962)
  • Set Capella fork epoch for Mainnet (#4111)
  • Reduce verbosity of reprocess queue logs (#4101)
  • Customisable shuffling cache size (#4081)
  • Improve Lighthouse Connectivity Via ENR TCP Update (#4057)
  • Ignore self as a bootnode (#4110)
  • Reconstruct Payloads using Payload Bodies Methods (#4028)
  • Clarify "Ready for Capella" (#4095)
  • Reduce false positive logging for late builder blocks (#4073)
  • Make more noise when the EL is broken (#3986)
  • Siren Ui Lighthouse Version Requirments (#4093)
  • Correct a race condition when dialing peers (#4056)
  • Remove Router/Processor Code (#4002)
  • Complete match for has_context_bytes (#3972)
  • Add parent_block_number to payload SSE (#4053)
  • Support for Ipv6 (#4046)
  • Correct /lighthouse/nat implementation (#4069)
  • Added warning when new jwt is generated (#4000)
  • Appease Clippy 1.68 and refactor http_api (#4068)
  • Fix order of arguments to log_count (#4060)

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.0.1-x86_64-apple-darwin.tar.gz PGP Signature
x86_64 lighthouse-v4.0.1-x86_64-apple-darwin-portable.tar.gz PGP Signature
x86_64 lighthouse-v4.0.1-x86_64-unknown-linux-gnu.tar.gz PGP Signature
x86_64 lighthouse-v4.0.1-x86_64-unknown-linux-gnu-portable.tar.gz PGP Signature
aarch64 lighthouse-v4.0.1-aarch64-unknown-linux-gnu.tar.gz PGP Signature
aarch64 lighthouse-v4.0.1-aarch64-unknown-linux-gnu-portable.tar.gz PGP Signature
x86_64 lighthouse-v4.0.1-x86_64-windows.tar.gz PGP Signature
x86_64 lighthouse-v4.0.1-x86_64-windows-portable.tar.gz PGP Signature
System Option - Resource
Docker v4.0.1 sigp/lighthouse
lighthouse - Tophat Jones

Published by github-actions[bot] over 1 year ago

🚨 Hot-Fix for v4.0.0 🚨

This release is a hot-fix to patch a bug introduced in v4.0.0, which was published Wednesday, March 22, 2023 11:56:00 PM UTC. The v4.0.0 release has been removed from the Github releases page.

The bug was found by our fuzzers and has not been triggered on any networks. If triggered, it would result in temporary periods of effective downtime of several slots.

It is unlikely that this bug will present itself on mainnet, however we recommend the following actions for all networks (Mainnet, Goerli, Prater, Sepolia, Gnosis, etc):

  • If you have not upgraded to v4.0.0 and are on v3.5.1, then take no action. Do not upgrade to v4.0.0 or v4.0.1-rc.0.
  • If you have already upgraded to v4.0.0, then upgrade to v4.0.1-rc.0 immediately.

We are not recommending v4.0.0 users downgrade to v3.5.1 since a manual database migration is required. Users familiar with database migrations are safe to downgrade.

If you are not sure if you've updated, you can run lighthouse --version to find out.

The Docker stable flag has been updated to point to the patched version. If you have updated your stable Docker containers after Wednesday, March 22, 2023 11:04:00 PM UTC, we recommend updating again to obtain the patch.

All Changes

  • Release Candidate v4.0.1-rc.0 (#4123)
  • Fix fork choice error message (#4122)

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.0.1-rc.0-x86_64-apple-darwin.tar.gz PGP Signature
x86_64 lighthouse-v4.0.1-rc.0-x86_64-apple-darwin-portable.tar.gz PGP Signature
x86_64 lighthouse-v4.0.1-rc.0-x86_64-unknown-linux-gnu.tar.gz PGP Signature
x86_64 lighthouse-v4.0.1-rc.0-x86_64-unknown-linux-gnu-portable.tar.gz PGP Signature
aarch64 lighthouse-v4.0.1-rc.0-aarch64-unknown-linux-gnu.tar.gz PGP Signature
aarch64 lighthouse-v4.0.1-rc.0-aarch64-unknown-linux-gnu-portable.tar.gz PGP Signature
x86_64 lighthouse-v4.0.1-rc.0-x86_64-windows.tar.gz PGP Signature
x86_64 lighthouse-v4.0.1-rc.0-x86_64-windows-portable.tar.gz PGP Signature
System Option - Resource
Docker v4.0.1-rc.0 sigp/lighthouse
lighthouse - Tumblorkians

Published by github-actions[bot] over 1 year ago

Summary

This release is a low-priority release for all users except for those using the Goerli test network.

For Goerli (aka Prater) users, this release includes the Capella fork parameters (#4044). Goerli will undergo the Capella upgrade (a.k.a "hardfork") on 14/03/2023 at 10:25:36 pm UTC. Goerli users must update to this version or later before the Capella upgrade. Users that fail to upgrade will cease to follow the chain and will be required to resync.

Users of Ethereum Mainnet or other networks/testnets (e.g., Sepolia, Gnosis Chain) may choose to update to this release to take advantage of various optimisations and bug fixes.

Notable changes in this release include:

  • Add a flag to always use payloads from builders (#4052)
  • Set Capella fork epoch for Goerli (#4044)
  • Optimise signing in the VC to prevent late blocks (#4033)
  • Add a BN latency measurement to the VC to help diagnose late blocks (#4024, #4051)
  • Fix a bug where Lighthouse rejects an invalid block message from the EE (#4037)
  • Delete Kiln and Ropsten configs (#4038)
  • Improve compilation flexibility by allowing building without MDBX (#3888)

Breaking Changes

There are no breaking changes that affect Mainnet users.

⚠️ Breaking Change: Removal of Kiln and Ropsten Configs ⚠️

The --network kiln and --network ropsten flags are no longer supported. Kiln was deprecated Q3 2022 and Ropsten was deprecated in Q4 2022. Removing these networks has reduced the size of the Lighthouse binary by approximately 30MiB.

Dedicated Ropsten and Kiln users can still use these networks by manually obtaining the testnet configuration directories and using the --testnet-dir flag.

Goerli Capella Hard Fork

Goerli is upgrading to Capella on 14/03/2023 at 10:25:36 pm UTC! 🎉

Goerli users must update both the Lighthouse beacon node and validator client before March 14. Failure to update will result in missed validator duties and a corrupt beacon node database (requiring a re-sync).

Goerli users must also ensure they are running a compatible execution engine. The Ethereum Foundation will publish a "Goerli Shapella Announcement" in the coming days which will contain more information and a list of compatible execution layer releases.

Lighthouse will emit INFO Ready for Capella logs when both itself and the execution engine are ready for the Capella upgrade. Conversely, Lighthouse will emit WARN Not ready for Capella logs when it detects a misconfiguration.

VC to BN Latency Measurements

In #4024 and #4051 we added new Prometheus metrics for monitoring the round-trip latency between a VC and the BN. The latency measurement is the time it takes the VC to send, receive and parse a call to the BN's eth/v1/node/version endpoint.

There are two new metrics exposed by the VC:

  • vc_beacon_node_latency_primary_endpoint: shows the latency for the primary BN.
  • vc_beacon_node_latency: shows the latency for all BNs, with the endpoint URL as the endpoint label.

Producing a block requires two HTTP calls between the VC and the BN. Therefore, latency on this connection can contribute significantly to block publishing delays. Blocks which are published late are more likely to be orphaned.

Those using Grafana+Prometheus can use the following query to view the 99th percentile latency for their primary BN:

histogram_quantile(0.99, rate(vc_beacon_node_latency_primary_endpoint_bucket[$__rate_interval]))

Known Issues

The optimised maxperf profile is currently not working on Windows due to a suspected regression in the Rust compiler. The pre-compiled Windows binaries have been built with the release profile instead and may exhibit slightly reduced performance compared to previous versions. See https://github.com/sigp/lighthouse/issues/3964 for details.

Update Priority

This table provides priorities for which classes of users should update particular components.

User Class Beacon Node Validator Client
Staking Users Low Priority Low Priority
Non-Staking Users Low Priority ---

The Beacon Node may be updated without the Validator Client, however we recommend updating both components for completeness.

Goerli users must update both the beacon node and the validator client.

See Update Priorities for more information about this table.

All Changes

  • Release v3.5.1 (#4049)
  • Add a flag to always use payloads from builders (#4052)
  • Set Capella fork epoch for Goerli (#4044)
  • Add VC metric for primary BN latency (#4051)
  • Log a WARN in the VC for a mismatched Capella fork epoch (#4050)
  • Update dependencies incl tempfile (#4048)
  • Optimise attestation selection proof signing (#4033)
  • Optimise payload attributes calculation and add SSE (#4027)
  • Add latency measurement service to VC (#4024)
  • Permit a null LVH from an INVALID response to newPayload (#4037)
  • Log a debug message when a request fails for a beacon node candidate (#4036)
  • Cleaner logic for gossip subscriptions for new forks (#4030)
  • Delete Kiln and Ropsten configs (#4038)
  • Clean capella (#4019)
  • Add more logs in the BN HTTP API during block production (#4025)
  • Docs for Siren (#4023)
  • Use consensus-spec-tests v1.3.0-rc.3 (#4021)
  • Add content-type header to metrics server response (#3970)
  • Allow compilation with no slasher backend (#3888)
  • Execution Integration Tests Correction (#4034)

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-v3.5.1-x86_64-apple-darwin.tar.gz PGP Signature
x86_64 lighthouse-v3.5.1-x86_64-apple-darwin-portable.tar.gz PGP Signature
x86_64 lighthouse-v3.5.1-x86_64-unknown-linux-gnu.tar.gz PGP Signature
x86_64 lighthouse-v3.5.1-x86_64-unknown-linux-gnu-portable.tar.gz PGP Signature
aarch64 lighthouse-v3.5.1-aarch64-unknown-linux-gnu.tar.gz PGP Signature
aarch64 lighthouse-v3.5.1-aarch64-unknown-linux-gnu-portable.tar.gz PGP Signature
x86_64 lighthouse-v3.5.1-x86_64-windows.tar.gz PGP Signature
x86_64 lighthouse-v3.5.1-x86_64-windows-portable.tar.gz PGP Signature
System Option - Resource
Docker v3.5.1 sigp/lighthouse
lighthouse - Gazorpazorpfield

Published by github-actions[bot] over 1 year ago

Summary

This release is a low-priority release for all users (including mainnet), except for those using the Sepolia test network

For Sepolia users, this release includes the Capella fork parameters. Sepolia will undergo the Capella upgrade (a.k.a "hardfork") on 2023/2/28 at 4:04:48 AM UTC. Sepolia users must update to this version or later before the Capella upgrade. Users that fail to upgrade will cease to follow the chain and will be required to resync.

Ethereum mainnet, Ethereum testnet (e.g., Goerli, Ropsten) and Gnosis users may choose to update to this release, but it is low-priority.

Alongside the Sepolia changes, this release includes:

  • ⚠️ Database schema upgrade to v15 ⚠️
  • HTTP API returns 404 rather than 405 for an unknown route (#3836)
  • Add CLI flag to specify the format of logs written to the logfile (#3839)
  • Switch allocator to jemalloc (#3697)
  • Implement new rewards APIs (#3822, #3903, #3907)
  • Add attestation duty slot metric (#2704)
  • Reduce some EE and builder related ERRO logs to WARN (#3966)
  • Use Local Payload if More Profitable than Builder (#3934)

Breaking Changes

⚠️ Breaking Change: Database Schema v15 ⚠️

To support Capella the database schema has been upgraded to v15. The schema upgrade will be applied automatically upon upgrading and should not take more than a few seconds.

To downgrade, follow the instructions in the book for Database Migrations.

Users may downgrade anytime before the Capella upgrade. Prior Lighthouse releases are not compatible with Capella, so downgrading is fundamentally impossible after the upgrade occurs.

⚠️ Breaking Change: Minimum Supported Rust Vesion ⚠️

Users building from source will have to update their Rust compiler version to at least 1.65.0 using a command like:

rustup update stable

Newer versions of the compiler including the latest (v1.67.1 at time of writing) will also work.

Older versions will log an error during compilation.

Breaking Change: HTTP API Unknown Routes

Previously, the Beacon Node HTTP would return 405 (method not allowed) for an unknown route (e.g. http://localhost:5052/not_a_real_route). Lighthouse will now return a 404 (not found) error.

Sepolia Capella Hard Fork

Sepolia is upgrading to Capella on 2023/2/28 at 4:04:48 AM UTC! 🎉

Sepolia users must update both the Lighthouse beacon node and validator client before February 28. Failure to update will result in missed validator duties and a corrupt beacon node database (requiring a re-sync).

Sepolia users must also ensure they are running a compatible execution engine. The Ethereum Foundation Sepolia Shapella Annoucement contains more information and a list of compatible execution layer releases.

Lighthouse will emit INFO Ready for Capella logs when both itself and the execution engine are ready for the Capella upgrade. Conversely, Lighthouse will emit WARN Not ready for Capella logs when it detects a misconfiguration.

Known Issues

The optimised maxperf profile is currently not working on Windows due to a suspected regression in the Rust compiler. The pre-compiled Windows binaries have been built with the release profile instead and may exhibit slightly reduced performance compared to previous versions. See https://github.com/sigp/lighthouse/issues/3964 for details.

Update Priority

This table provides priorities for which classes of mainnet users should update particular components.

User Class Beacon Node Validator Client
Staking Users Low Priority Low Priority
Non-Staking Users Low Priority ---

Note: this update is high-priority for Sepolia users.

The Beacon Node may be updated without the Validator Client, however we recommend updating both components for completeness. Sepolia users must update both the beacon node and the validator client.

See Update Priorities for more information about this table.

All Changes

This release contains the Capella functionality (#3763), which has been the result of several months of work. To ensure rightful attribution to its contributors, we have elected to perform a merge commit rather than our usual squash-merge. This has created an unusually complex history on the stable branch, so we have omitted the full list of changes in this release.

The full list of commits between this version (v3.5.0) and the previous version (v3.4.0) can be viewed on Github.

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-v3.5.0-x86_64-apple-darwin.tar.gz PGP Signature
x86_64 lighthouse-v3.5.0-x86_64-apple-darwin-portable.tar.gz PGP Signature
x86_64 lighthouse-v3.5.0-x86_64-unknown-linux-gnu.tar.gz PGP Signature
x86_64 lighthouse-v3.5.0-x86_64-unknown-linux-gnu-portable.tar.gz PGP Signature
aarch64 lighthouse-v3.5.0-aarch64-unknown-linux-gnu.tar.gz PGP Signature
aarch64 lighthouse-v3.5.0-aarch64-unknown-linux-gnu-portable.tar.gz PGP Signature
x86_64 lighthouse-v3.5.0-x86_64-windows.tar.gz PGP Signature
x86_64 lighthouse-v3.5.0-x86_64-windows-portable.tar.gz PGP Signature
System Option - Resource
Docker v3.5.0 sigp/lighthouse
lighthouse - Tree States v3.4.0 alpha.3

Published by github-actions[bot] over 1 year ago

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.

For more information about the -tree.X family of releases, please see the v3.4.0-tree.1 release notes.

Compared to the previous release the main changes are:

  • Fixed a database corruption bug which could occur when reconstructing historic states (dbb0cf7099600ea62e97ca53d1c868ce486469b7, 2f6ffff8d6495d748163eb00c57be9ad9e87c99d).
  • Improved interaction between state reconstruction and finalization (481e79289880b75e53cbfea1be07564b1b437323).
  • Latest changes from unstable, including new rewards APIs.

Note that there is no v3.4.0-tree.2 release due to a build failure.

⚠️ Backwards Compatibility ⚠️

This release is not backwards compatible with stable Lighthouse. It uses a different database schema (v20) 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 will be required to run future versions of tree-states.

This release is backwards compatible with the prior tree-states release (v3.4.0-tree.1).

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

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.
  • Block processing is a bit slower than stable Lighthouse.
  • The Windows binary will not compile with the maxperf profile (use release).

Building from source

Build the v3.4.0-tree.3 tag.

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-v3.4.0-tree.3-x86_64-apple-darwin.tar.gz PGP Signature
x86_64 lighthouse-v3.4.0-tree.3-x86_64-apple-darwin-portable.tar.gz PGP Signature
x86_64 lighthouse-v3.4.0-tree.3-x86_64-unknown-linux-gnu.tar.gz PGP Signature
x86_64 lighthouse-v3.4.0-tree.3-x86_64-unknown-linux-gnu-portable.tar.gz PGP Signature
aarch64 lighthouse-v3.4.0-tree.3-aarch64-unknown-linux-gnu.tar.gz PGP Signature
aarch64 lighthouse-v3.4.0-tree.3-aarch64-unknown-linux-gnu-portable.tar.gz PGP Signature
x86_64 lighthouse-v3.4.0-tree.3-x86_64-windows.tar.gz PGP Signature
x86_64 lighthouse-v3.4.0-tree.3-x86_64-windows-portable.tar.gz PGP Signature
System Option - Resource
Docker v3.4.0-tree.3 sigp/lighthouse
lighthouse - Tree States v3.4.0 alpha.1

Published by github-actions[bot] almost 2 years ago

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.

For the adventurous, the main benefits are:

  • Smaller disk footprint for archive nodes, <300GB total. Use checkpoint sync, and set the flags --slots-per-restore-point=32 and --reconstruct-historic-states.
  • Smaller disk footprint for regular nodes, <70GB.
  • 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.

Aside from the experimental tree-states changes this release is up-to-date with Lighthouse v3.4.0 and includes the same features.

⚠️ Backwards Compatibility ⚠️

This release is not backwards compatible with stable Lighthouse. It uses a different database schema (v20) 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 will be required to run future versions of tree-states.

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

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.
  • The JSON serialisation of the BeaconState does not quote integers for some fields. This will be fixed shortly, but SSZ can be used as a workaround.
  • Block processing is a bit slower than stable Lighthouse (see below).

Additional Background

The fundamental change supporting these improvements is a change to the in-memory representation of the BeaconState from flat vectors to copy-on-write trees. This enables many more BeaconStates to be stored in memory, but comes at the cost of increased iteration time. As a result, block and epoch processing times are slower. To mitigate this we are working on new caches and optimisations which bring block processing times back in line with stable Lighthouse. This puts the tree-states branch in a slightly awkward spot, because we cannot responsibly merge it until it is better than stable Lighthouse on every possible metric (a Pareto improvement).

Seeing as tree-states alters the database schema quite drastically, we also decided to roll in a few other improvements. The plan is to get the new schema as close to perfect as possible so that in a future release everyone can upgrade once with minimal fuss.

Building from source

Build the v3.4.0-tree.1 tag.

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-v3.4.0-tree.1-x86_64-apple-darwin.tar.gz PGP Signature
x86_64 lighthouse-v3.4.0-tree.1-x86_64-apple-darwin-portable.tar.gz PGP Signature
x86_64 lighthouse-v3.4.0-tree.1-x86_64-unknown-linux-gnu.tar.gz PGP Signature
x86_64 lighthouse-v3.4.0-tree.1-x86_64-unknown-linux-gnu-portable.tar.gz PGP Signature
aarch64 lighthouse-v3.4.0-tree.1-aarch64-unknown-linux-gnu.tar.gz PGP Signature
aarch64 lighthouse-v3.4.0-tree.1-aarch64-unknown-linux-gnu-portable.tar.gz PGP Signature
x86_64 lighthouse-v3.4.0-tree.1-x86_64-windows.tar.gz PGP Signature
x86_64 lighthouse-v3.4.0-tree.1-x86_64-windows-portable.tar.gz PGP Signature
System Option - Resource
Docker v3.4.0-tree.1 sigp/lighthouse
lighthouse - Stealy

Published by github-actions[bot] almost 2 years ago

Summary

This high-priority release contains important bug fixes, optimizations and a notable change to fork choice which incentivizes the timely production of blocks.

Other interesting changes include:

  • Improved logging for debugging payloads from builders (#3725)
  • Significantly improved syncing speeds (#3738, #3794)
  • New custom Lighthouse API endpoints (#3756, #3760, #3779)
  • Reduced log severity for late blocks and unrevealed builder blocks (#3775)
  • Reduced log severity for validator monitor logs (#3727)
  • Updated Gnosis bootnodes (#3793, #3855)
  • Improved validator monitor for high validator counts (#3728)
  • A fix for slow VC API performance with Web3Signer validators (#3801)

Proposer Boost Re-Orgs

Lighthouse nodes running this version (or later) will attempt to re-org blocks which arrive late and subsequently receive very few votes from other validators. Lighthouse will not attempt a re-org unless it is confident that its own block will become the head and the action is in the best interests of the Ethereum network.

It is expected that re-orging a late block will be significantly profitable for the entity which performs the re-org. The loss induced by the validator which produced the late block will incentivize performance improvements.

See Late Block Re-orgs in the Lighthouse Book for more information.

Breaking Changes

This release contains two breaking changes regarding the validator monitor on the BN.

1. Aggregate Validator Monitor Metric

A new flag has been added to the Beacon Node: --validator-monitor-individual-tracking-threshold. The default value is 64, which means that when the validator monitor is tracking more than 64 validators then it will stop tracking per-validator metrics and only track values via the new total label. It will also stop logging per-validator logs and only emit aggregated logs (the exception being that exit and slashing logs are always emitted).

The new total label tracks the aggregated metrics of all validators in the validator monitor (as opposed to each validator being tracking individually using its pubkey as the label). It only tracks values which are easily aggregated (e.g. total count of attestations seen) and omits values which are not easily aggregated (e.g. most recent inclusion distance).

These changes were introduced in #3728 to address issues with untenable Prometheus cardinality and log volume when using the validator monitor with high validator counts (e.g., 1000s of validators). Users with less than 65 validators will see no change in behavior (apart from the added total metric). Users with more than 65 validators who wish to maintain the previous behavior can set something like --validator-monitor-individual-tracking-threshold 999999.

2. Reduced Log Severity for Validator Monitor Logs

The validator monitor will no longer emit WARN and ERRO logs for sub-optimal attestation performance. The logs will now be emitted at INFO level. This change was introduced to avoid cluttering the WARN and ERRO logs with alerts that are frequently triggered by the actions of other network participants (e.g., a missed block) and require no action from the user.

Update Priority

This table provides priorities for which classes of users should update particular components.

User Class Beacon Node Validator Client
Staking Users High Priority Medium Priority
Non-Staking Users High Priority ---

The Beacon Node may be updated without the Validator Client, however we recommend updating both components for completeness.

See Update Priorities more information about this table.

All Changes

  • Release v3.4.0 (#3862)
  • Update dependencies incl Tokio (#3866)
  • Web3 signer validator definitions reloading on any request (#3801)
  • Improve validator monitor experience for high validator counts (#3728)
  • Add more Gnosis bootnodes (#3855)
  • Verify execution block hashes during finalized sync (#3794)
  • Upgrade to libp2p v0.50.0 (#3764)
  • Restructure code for libp2p upgrade (#3850)
  • Various CI fixes (#3813)
  • docs: remove mention of phases in voluntary exits (#3776)
  • Clippy lints for rust 1.66 (#3810)
  • send error answering bbrange requests when an error occurrs (#3800)
  • Update Gnosis chain bootnodes (#3793)
  • Enable proposer boost re-orging (#2860)
  • Make all validator monitor logs INFO (#3727)
  • Adding light_client gossip topics (#3693)
  • Reduce log severity for late and unrevealed blocks (#3775)
  • Add API endpoint to get VC graffiti (#3779)
  • Update book with missing Lighthouse endpoints (#3769)
  • Expose certain validator_monitor metrics to the HTTP API (#3760)
  • Delete DB schema migrations for v11 and earlier (#3761)
  • Add API endpoint to count statuses of all validators (#3756)
  • Prioritise important parts of block processing (#3696)
  • Ipv6 bootnodes (#3752)
  • Optimize finalized chain sync by skipping newPayload messages (#3738)
  • Improve debugging experience for builder proposals (#3725)
  • Add Run a Node guide (#3681)
  • Gossipsub fast message id change (#3755)
  • Add CLI flag for gui requirements (#3731)
  • Add CLI flag to opt in to world-readable log files (#3747)
  • remove commas from comma-separated kv pairs (#3737)
  • Added LightClientBootstrap V1 (#3711)

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-v3.4.0-x86_64-apple-darwin.tar.gz PGP Signature
x86_64 lighthouse-v3.4.0-x86_64-apple-darwin-portable.tar.gz PGP Signature
x86_64 lighthouse-v3.4.0-x86_64-unknown-linux-gnu.tar.gz PGP Signature
x86_64 lighthouse-v3.4.0-x86_64-unknown-linux-gnu-portable.tar.gz PGP Signature
aarch64 lighthouse-v3.4.0-aarch64-unknown-linux-gnu.tar.gz PGP Signature
aarch64 lighthouse-v3.4.0-aarch64-unknown-linux-gnu-portable.tar.gz PGP Signature
x86_64 lighthouse-v3.4.0-x86_64-windows.tar.gz PGP Signature
x86_64 lighthouse-v3.4.0-x86_64-windows-portable.tar.gz PGP Signature
System Option - Resource
Docker v3.4.0 sigp/lighthouse
lighthouse - Mr. Frundles

Published by paulhauner almost 2 years ago

Summary

This release is a low-priority release for all users, except those using the Gnosis Chain.

For Gnosis users, this release includes the Gnosis Merge parameters. Gnosis users will need to update to this release before November 30th or they will fail to go through the merge transition and will be left following the wrong chain. Therefore, this release is high-priority for Gnosis users.

Ethereum mainnet and Ethereum testnet (e.g., Goerli, Sepolia) users may choose to update to this release, but it is low-priority.

Alongside the Gnosis changes, this release includes:

  • ⚠️ Database schema upgrade to v13 ⚠️
  • Support for a new and upcoming improvement to checkpoint sync (#2915)
  • Addition of the --checkpoint-sync-url-timeout flag (#3710)
  • Improvements to sync committee message signing with optimistic EEs (#3624)

Breaking Changes

⚠️ Breaking Change: Database Schema v13 ⚠️

To support new features the database schema has been upgraded to v13. The schema upgrade will be applied automatically upon upgrading and should not take more than a few seconds.

To downgrade, follow the instructions in the book for Database Migrations.

Breaking Change: Sync Commmittee Fallback Behaviour

The signing of sync committee messages by the validator client has been improved in a way that is incompatible with old versions of the Lighthouse beacon node. We do not expect many users to be affected because only versions prior to v3.0.0 are incompatible.

For details please see: https://github.com/sigp/lighthouse/pull/3624

Gnosis Merge

Gnosis chain is merging! 🎉

The expected timeline is:

  • November 30 2022: Bellatrix hard fork activated on the consensus layer.
  • December 5-11 2022: Terminal total difficulty reached, merge completed.

You must update both the Lighthouse beacon node and validator client before November 30. Failure to update will result in missed validator rewards and a corrupt beacon node database (requiring a re-sync).

You must also ensure you're running a compatible verison of Nethermind (v1.14.6 or newer) and that it is correctly connected to your Lighthouse beacon node. For further instructions please see:

Deposit Snapshot Sync

We are pleased to announce the readiness of deposit snapshot sync, which enables nodes to quickly sync the deposit contract.

When setting up a new Lighthouse node using checkpoint sync, a snapshot of the deposit contract will be downloaded from the checkpoint sync provider. Initially the only supported provider is Lighthouse v3.3.0, although we expect checkpointz and the other clients soon will roll out support soon.

If the checkpoint sync provider does not support the feature you'll see a pair of warning logs:

WARN Remote BN does not support EIP-4881 fast deposit sync
WARN Failed to finalize deposit cache

These warnings are harmless, and Lighthouse will gracefully fallback to syncing the deposit contract cache from the execution node.

Depsosit snapshot support is the result of many months of work by @ethDreamer, who not only implemented the feature in Lighthouse but also wrote the spec for it, EIP-4811.

For further details on the implementation see: https://github.com/sigp/lighthouse/pull/2915

Update Priority

This table provides priorities for which classes of mainnet users should update particular components.

User Class Beacon Node Validator Client
Staking Users Low Priority Low Priority
Non-Staking Users Low Priority ---

Note: this update is high-priority for Gnosis chain users.

The Beacon Node may be updated without the Validator Client, however we recommend updating both components for completeness. Gnosis users must update both the beacon node and the validator client.

See Update Priorities for more information about this table.

All Changes

  • v3.3.0 (#3741)
  • Lower deposit finalization error to warning (#3739)
  • Schedule gnosis merge (#3729)
  • Super small improvement: Remove unnecessary mut (#3736)
  • Add metrics for subnet queries (#3721)
  • Simplify GossipTopic -> String conversion (#3722)
  • compile with beta compiler on CI (#3717)
  • Health Endpoints for UI (#3668)
  • CI gardening maintenance (#3706)
  • Sync committee sign bn fallback (#3624)
  • Add --light-client-server flag and state cache utils (#3714)
  • add checkpoint-sync-url-timeout flag (#3710)
  • Blinded block and RANDAO APIs (#3571)
  • Register blocks in validator monitor (#3635)
  • Added Merkle Proof Generation for Beacon State (#3674)
  • Blocklookup data inconsistencies (#3677)
  • Update stale sections of the book (#3671)
  • Clarify error log when registering validators (#3650)
  • Fix rust 1.65 lints (#3682)
  • Deposit Cache Finalization & Fast WS Sync (#2915)
  • Update discv5 (#3171)
  • Book spelling and grammar corrections (#3659)
  • Added lightclient server side containers (#3655)
lighthouse - Day Rick

Published by michaelsproul about 2 years ago

Summary

This medium-priority release is a patch release for the recently released v3.2.0, fixing a performance regression.

Please see the release notes for v3.2.0 for a summary of included features and breaking changes:

https://github.com/sigp/lighthouse/releases/tag/v3.2.0

Update Priority

This table provides priorities for which classes of users should update particular components.

User Class Beacon Node Validator Client
Staking Users Medium Priority Medium Priority
Non-Staking Users Low Priority ---

The Beacon Node may be updated without the Validator Client and vice versa, as long as both BN and VC are running a v3.x release.

Beacon nodes and validator clients on pre-v3.0.0 versions have been unable to follow the chain since September 6 2022 when the Bellatrix hard fork was activated.

See Update Priorities for more information about this table.

All Changes

  • Release v3.2.1 (#3660)
  • Revert "Optimise HTTP validator lookups" (#3658)

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-v3.2.1-x86_64-apple-darwin.tar.gz PGP Signature
x86_64 lighthouse-v3.2.1-x86_64-apple-darwin-portable.tar.gz PGP Signature
x86_64 lighthouse-v3.2.1-x86_64-unknown-linux-gnu.tar.gz PGP Signature
x86_64 lighthouse-v3.2.1-x86_64-unknown-linux-gnu-portable.tar.gz PGP Signature
aarch64 lighthouse-v3.2.1-aarch64-unknown-linux-gnu.tar.gz PGP Signature
aarch64 lighthouse-v3.2.1-aarch64-unknown-linux-gnu-portable.tar.gz PGP Signature
x86_64 lighthouse-v3.2.1-x86_64-windows.tar.gz PGP Signature
x86_64 lighthouse-v3.2.1-x86_64-windows-portable.tar.gz PGP Signature
System Option - Resource
Docker v3.2.1 sigp/lighthouse
lighthouse - Night Summer

Published by github-actions[bot] about 2 years ago

Summary

This medium-priority release contains bugfixes, optimisations and new features. We would like to see this release widely deployed on mainnet in the coming weeks.

Notable changes include:

  • Bugfix for blocks being proposed with 0 attestations.
  • Improvements to subscription handling when using fallback beacon nodes.
  • Optimisations to attestation and block processing.
  • New flags for tweaking interaction with the execution layer.
  • Updated networking libraries with improved stability and performance.

There are also some minor breaking changes, described in Breaking Changes. In particular, users compiling from source must ensure that a Protobuf compiler is installed. The --eth1-endpoints flag should also be removed.

Bugfix for blocks with 0 attestations

Prior versions of Lighthouse are affected by a bug which sometimes causes blocks with 0 attestations to be proposed, e.g. at slot 4992544. We estimate that around 1 in 700 blocks on mainnet are affected.

The impact of this bug is two-fold:

  • Missed attestation inclusion rewards for the proposer of the block, around 0.025 ETH per faulty proposal.
  • Missed attestation rewards for the attesters from the previous slot.

The bug was in validation code that was intended to prevent invalid attestations from being included in blocks, which was misfiring and blocking valid attestations.

We regret that this bug existed on mainnet as long as it did. It is present in all prior versions of Lighthouse except v2.4.0 and v2.5.0, meaning that all mainnet-capable releases are affected.

As more validators upgrade to v3.2.0 we hope to see improved attestation performance across the entire network, as well as increased block rewards for proposers running Lighthouse. Note that the bug does not result in decreased block rewards at the execution layer, as these rewards are due to included transactions rather than attestations.

For more detail on how the bugfix was implemented and tested please see this PR: https://github.com/sigp/lighthouse/pull/3629.

Thanks to Moshe Revah (@moshe-blox) for noticing the issue and bringing it to our attention.

Improved fallback behaviour

In a first step to improve the Lighthouse validator client's fallback behaviour we have implemented broadcast of subscriptions and preparation messages to fallback beacon nodes. This means that running fallback nodes with --subscribe-all-subnets is no longer required.

The extra messages might impose some additional bandwidth and processing load on both the VC and the BN, but our testing indicates that it is quite minimal and significantly less than the overhead of running unnecessarily with --subscribe-all-subnets.

If you are running multiple beacon nodes and would like to opt-out of the broadcast behaviour you can do so using --disable-run-on-all as a flag to lighthouse vc.

Users running a single beacon node with each validator client are unaffected and do not need to add any flags or take any action.

For implementation details please see this PR: https://github.com/sigp/lighthouse/pull/3529.

Block processing optimisations

This release includes two improvements to reduce block processing times by around 35%.

The first optimisation is algorithmic and nets a 20% improvement by avoiding re-calculation of the proposer index (see https://github.com/sigp/lighthouse/pull/3604).

The second improvement comes from enabling aggressive compiler optimisations, including LTO. These compiler optimisations are enabled in the pre-compiled binaries and Docker images, but are not be enabled for source builds by default due to the substantial increase in build time. Users building from source may opt-in via the maxperf compilation profile.

New execution layer flags

There are no less than 3 new flags for controlling interaction with the execution layer client, all contributed by external contributors:

--disable-deposit-contract-sync: prevent Lighthouse from syncing the deposit contract logs. This is useful if running an execution node for a purpose other than staking. It should not be used for staking nodes as it will cause missed block proposals.

--execution-timeout-multiplier N: set a longer timeout for responses from the execution layer. This is useful for low-powered nodes which may struggle to follow the chain if they timeout continually. We don't recommend using this flag for staking as such low-powered nodes are unlikely to be able to support validators.

--execution-jwt-secret-key KEY: set the JWT secret via the CLI rather than from a file. This comes at the cost of reduced security, as the secret will be leaked to other users on the same machine. It is intended for use in automated provisioning systems.

All flags apply to lighthouse bn. For further documentation please see lighthouse bn --help.

Thanks to @pinkiebell, @GeemoCandama and @mariuspod for these contributions!

Updated networking libraries

libp2p has been updated to v0.48.0 which brings several improvements and lays the groundwork for further reductions in bandwidth. Please see https://github.com/sigp/lighthouse/pull/3547 for details.

Breaking Changes

Upgrading to v3.2.0 can be done with minimal changes to configuration. We expect most users will be able to upgrade without any changes. However, if you are still using multiple nodes with --eth1-endpoints you must remove them, see below.

Downgrading to v3.1.2 after upgrading is also supported, so long as any new flags are removed before switching back (e.g. --execution-jwt-secret-key).

Removal of fallbacks from --eth1-endpoints

We have simplified some code by the removal of fallback support from --eth1-endpoints, which has been deprecated since The Merge.

If you are still using the --eth1-endpoints flag with multiple endpoints we recommend that you remove the flag entirely. Failure to remove it before upgrading will result in lighthouse bn failing to start.

If you are using --eth1-endpoint or --eth1-endpoints with a single argument then Lighthouse will still start, but the value of the flag will be ignored.

The only network that hasn't merged at time of writing is Gnosis Chain. If you would like to run a Gnosis node with fallback eth1 nodes we recommend remaining on a prior version such as v2.5.0 (which is also free of the block proposal bug).

For more information on the removal of fallback eth1 nodes please see https://github.com/sigp/lighthouse/pull/3594, and the Merge Migration guide in the book.

Protobuf dependency when building from source

Building from source now requires a Protobuf compiler (protoc) to be installed. The Build from Source instructions in the book have been updated to document this change.

For example, on Ubuntu, protoc can be installed with:

sudo apt install protobuf-compiler

Update Priority

This table provides priorities for which classes of users should update particular components.

User Class Beacon Node Validator Client
Staking Users Medium Priority Medium Priority
Non-Staking Users Low Priority ---

The Beacon Node may be updated without the Validator Client and vice versa, as long as both BN and VC are running a v3.x release.

Beacon nodes and validator clients on pre-v3.0.0 versions have been unable to follow the chain since September 6 2022 when the Bellatrix hard fork was activated.

See Update Priorities for more information about this table.

All Changes

  • Release v3.2.0 (#3647)
  • Ban and unban peers at the swarm level (#3653)
  • bors: require slasher and syncing sim tests (#3645)
  • beacon_node: add --disable-deposit-contract-sync flag (#3597)
  • add execution-timeout-multiplier flag to optionally increase timeouts (#3631)
  • Fix attestation shuffling filter (#3629)
  • Consensus context with proposer index caching (#3604)
  • Optimistic sync spec tests (v1.2.0) (#3564)
  • Optimise HTTP validator lookups (#3559)
  • Add a new bls test (#3235)
  • Pass EL JWT secret key via cli flag (#3568)
  • [DEV FEATURE] Deterministic long lived subnets (#3453)
  • CLI tests for logging flags (#3609)
  • Remove fallback support from eth1 service (#3594)
  • Ensure protoc is installed for release CI (#3621)
  • Changed http:// to https:// on mailing list link (#3610)
  • Add maxperf build profile (#3608)
  • Use #!/usr/bin/env everywhere for local testnets (#3606)
  • Handle Lodestar's new agent string (#3620)
  • Improve logging a little (#3619)
  • Libp2p v0.48.0 upgrade (#3547)
  • Publish subscriptions to all beacon nodes (#3529)
  • Add guide to MEV logs (#3611)

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-v3.2.0-x86_64-apple-darwin.tar.gz PGP Signature
x86_64 lighthouse-v3.2.0-x86_64-apple-darwin-portable.tar.gz PGP Signature
x86_64 lighthouse-v3.2.0-x86_64-unknown-linux-gnu.tar.gz PGP Signature
x86_64 lighthouse-v3.2.0-x86_64-unknown-linux-gnu-portable.tar.gz PGP Signature
aarch64 lighthouse-v3.2.0-aarch64-unknown-linux-gnu.tar.gz PGP Signature
aarch64 lighthouse-v3.2.0-aarch64-unknown-linux-gnu-portable.tar.gz PGP Signature
x86_64 lighthouse-v3.2.0-x86_64-windows.tar.gz PGP Signature
x86_64 lighthouse-v3.2.0-x86_64-windows-portable.tar.gz PGP Signature
System Option - Resource
Docker v3.2.0 sigp/lighthouse
lighthouse - Roy

Published by github-actions[bot] about 2 years ago

Summary

This low-priority release contains several optimisations to improve performance on the newly merged mainnet!

Notable changes include:

  • Optional payload pruning to reduce execution node timeouts.
  • Optimisations to attestation and block processing.
  • More efficient attestation subnet subscriptions.
  • New flags to control the use of external block builders for MEV.

There are also a few minor breaking changes, described in Breaking Changes.

Note that there is no v3.1.1 release due to a minor bug that was found and fixed before that release had been fully published.

Payload Pruning

One issue we've noticed on mainnet is that requests to the execution node sometimes time out.

ERRO Error fetching block for peer error: ExecutionLayerErrorPayloadReconstruction(0x4092070250431d93d6b0331ec940bf467407302038347382ab57d4e945527e08, EngineError(Api { error: Reqwest(reqwest::Error { kind: Request, url: Url { scheme: "http", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("localhost")), port: Some(8551), path: "/", query: None, fragment: None }, source: TimedOut }) }))

To reduce the number of requests made to the execution node, we have made payload pruning optional in v3.1.2. Payload pruning is the process by which Lighthouse avoids storing execution payloads in its database. When enabled, Lighthouse will fetch payloads from the execution node on-demand. Although this saves disk space it imposes substantial load on the execution node when a syncing peer requests blocks from Lighthouse.

When upgrading to v3.1.2 you should make a choice to enable or disable payload pruning:

  • Enable (default): Lighthouse will run a background pruning job on start-up that permanently removes payloads from its database. This pruning may take up to 30 minutes the first time it runs on machines with slower I/O. Lighthouse will continue to be available for validators while this job runs, but may exhibit slightly degraded performance. All future payloads will be deleted from the database and fetched on-demand if required. Although v3.1.0 and earlier also fetched payloads on-demand, the payloads were still stored in the database due to an oversight. Upgrading to v3.1.2 with pruning enabled will delete them permanently.
  • Disable: Opt out of payload pruning with the --prune-payloads false flag on the beacon node. Lighthouse will keep all execution payloads in its database and serve them to peers directly. This will consume slightly more disk space but will reduce load on the execution node. This is recommended for users who have seen frequent timeouts and users running on constrained devices (particularly where I/O is scarce). We hope that this may be particularly helpful to users running Besu, which seems to timeout more frequently.

You may freely switch between --prune-payloads false and the default configuration (equivalent to --prune-payloads true). If you are unsure, we recommend starting out with --prune-payloads false, as any payloads deleted after running with payload pruning enabled will remain deleted. Our medium-term goal is to make payload pruning efficient enough to be usable by all nodes, and we are collaborating with the execution client devs on this.

For more information on the implementation of this feature please see https://github.com/sigp/lighthouse/pull/3565, https://github.com/sigp/lighthouse/pull/3587.

Attestation and Block Processing Optimisations

This release includes a ~20% reduction in the time it takes to compute the merkle root of a beacon block (#3581). Since the merge introduced transactions to the beacon chain, computing the merkle root of a block has become more significant. This optimisation will result in faster block imports and therefore better attestation performance (i.e., more accurate head votes).

Additionally, the cache which stores information required to verify attestations has been modified to prevent duplicate work in some scenarios (#3574). Previously, it was possible for multiple attestations being processed on different threads to load the same BeaconState from disk at the same time. This resulted in excess memory and CPU usage. With the new behaviour, the first attestation will load a single BeaconState and other attestations will wait for that operation to complete.

Subscribe On-Demand

Reduces bandwidth by limiting the time we are subscribed to subnets to a smaller time frame when needed. Upgrades to libp2p have allowed us to reduce our subscription time period.

For more information see https://github.com/sigp/lighthouse/pull/3419.

MEV profit threshold

To give validators greater control over their interaction with external block builders, we have added a new flag --builder-profit-threshold which filters out blocks from builders that pay the proposer less than a threshold value.

Please see the documentation for a full description: https://lighthouse-book.sigmaprime.io/builders.html#builder-profit-threshold

Note that this flag is for the beacon node, as the beacon node has lowest-latency access to both the builder payload and the local payload.

We hope that this feature compensates for the deprecation of --strict-fee-recipient (see below).

Breaking Changes

You can upgrade to Lighthouse v3.1.2 without making any changes to your configuration, although you should be aware of the changes in behaviour listed below.

Downgrading to v3.1.0 after upgrading is also supported, so long as the new --prune-payloads and --builder-profit-threshold flags are removed before switching back to v3.1.0.

Deprecation of --strict-fee-recipient

The --strict-fee-recipient flag for the validator client has been deprecated and no longer has any effect.

We took the decision to deprecate the flag for two reasons:

  • There was a bug in the implementation that prevented block proposals before TTD was reached (no longer relevant on mainnet).
  • Almost all block builders will use a transaction to pay the proposer, meaning that their blocks would be rejected if the strict-fee-recipient flag were used. This means the flag effectively disabled the external block builders entirely, which is not useful.

If you are using --strict-fee-recipient in your Lighthouse VC flags you should remove it. However, if you don't remove it Lighthouse will still start, but will log a warning. In future we will likely remove the flag entirely.

Changes to block reward and block production APIs

Two breaking changes were made to non-standard APIs and parameters:

  • The /eth/v2/validator/blocks/{slot} endpoint now uses the standard skip_randao_verification parameter rather than the previously Lighthouse-only parameter verify_randao.
  • The POST /lighthouse/analysis/block_rewards now accepts blinded blocks for improved efficiency and better compatibility with MEV builders.

We expect these changes will only affect a small number of expert users. For more information please see https://github.com/sigp/lighthouse/pull/3540.

Update Priority

This table provides priorities for which classes of users should update particular components.

User Class Beacon Node Validator Client
Staking Users Low Priority Low Priority
Non-Staking Users Low Priority ---

The Beacon Node may be updated without the Validator Client, however both components must be updated to support the merge. Beacon nodes and validator clients on pre-v3.0.0 versions have been unable to follow the chain since September 6 2022 when the Bellatrix hard fork was activated.

See Update Priorities for more information about this table.

All Changes

  • v3.1.2 (#3603)
  • New rust lints for rustc 1.64.0 (#3602)
  • send attnet unsubscription event on random subnet expiry (#3600)
  • Make garbage collection test less failure prone (#3599)
  • Fix ee integration tests (#3592)
  • Deduplicate block root computation (#3590)
  • Add disable-log-timestamp flag (#3101) (#3586)
  • v3.1.1 (#3585)
  • Fix concurrency issue with oneshot_broadcast (#3596)
  • Impl oneshot_broadcast for committee promises (#3595)
  • Avoid holding write-lock whilst waiting on shuffling cache promise (#3589)
  • Refined payload pruning (#3587)
  • Implement skip_randao_verification and blinded block rewards API (#3540)
  • Prune finalized execution payloads (#3565)
  • Pre-allocate vectors in SSZ decoding (#3417)
  • Use SmallVec for TreeHash packed encoding (#3581)
  • Add lcli block-root tool (#3580)
  • Avoid duplicate committee cache loads (#3574)
  • Add metric for re-org distance (#3566)
  • Bump axum deps (#3570)
  • Fix builder gas limit docs (#3569)
  • Fix ganache test endpoint for ipv6 machines (#3563)
  • Support histogram buckets (#3391)
  • Use generic domain for community checkpoint sync example (#3560)
  • fix description for BALANCES_CACHE_MISSES metric (#3545)
  • Add community checkpoint sync endpoints to book (#3558)
  • Pin mev rs deps (#3557)
  • Remove strict fee recipient (#3552)
  • remove strict fee recipient docs (#3551)
  • Add flag 'log-color' preserving color of log redirected to file. (#3538)
  • Update graffiti.md (#3537)
  • Configurable monitoring endpoint frequency (#3530)
  • Builder profit threshold flag (#3534)
  • Fixing a few typos / documentation (#3531)
  • Strict count unrealized (#3522)
  • Add timeout for --checkpoint-sync-url (#3521)
  • Fix attestation performance API InvalidValidatorIndex error (#3503)
  • Subscribe to subnets only when needed (#3419)

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-v3.1.2-x86_64-apple-darwin.tar.gz PGP Signature
x86_64 lighthouse-v3.1.2-x86_64-apple-darwin-portable.tar.gz PGP Signature
x86_64 lighthouse-v3.1.2-x86_64-unknown-linux-gnu.tar.gz PGP Signature
x86_64 lighthouse-v3.1.2-x86_64-unknown-linux-gnu-portable.tar.gz PGP Signature
aarch64 lighthouse-v3.1.2-aarch64-unknown-linux-gnu.tar.gz PGP Signature
aarch64 lighthouse-v3.1.2-aarch64-unknown-linux-gnu-portable.tar.gz PGP Signature
x86_64 lighthouse-v3.1.2-x86_64-windows.tar.gz PGP Signature
x86_64 lighthouse-v3.1.2-x86_64-windows-portable.tar.gz PGP Signature
System Option - Resource
Docker v3.1.2 sigp/lighthouse
lighthouse - Unity

Published by github-actions[bot] about 2 years ago

Summary

This high-priority release contains an important fix to ensure that Lighthouse does not attempt to produce invalid blocks. Furthermore, it improves block production efficiency, thereby increasing the likelihood of a Lighthouse-produced block being included in (and rewarded by) the canonical chain.

We recommend all mainnet users update before the Bellatrix upgrade on Sept 6, 2022, 11:34:47am UTC. Testnet users should upgrade at their next convenience.

Notable changes include:

  • Improved handling of offline EEs during sync (#3428)
  • Optimisations to block production (#3312)
  • Improvements to how builder-enabled VCs interact with non-builder BNs (#3488)
  • Easier recovery from EE consensus faults (#3498)
  • Log suggested fee recipient addresses in the VC (#3526)

Merge Reminder

The Ethereum mainnet network will upgrade to proof-of-stake on or around the 15th of September 2022. Before that, the Beacon Chain will perform the "Bellatrix" upgrade on Sept 6, 2022, 11:34:47am UTC.

Users do not have until Sept 15th to be "ready for the merge", rather they must be ready by Sept 6th. There is less than a week before users must be merge ready. See Merge Migration for more information.

Breaking Changes

Breaking Change: Database Migration

There is one database migration in this release: v12 (#3312).

Older database versions will automatically upgrade to the latest version without user intervention. The migration may cause start-up to take a few minutes longer than usual, but subsequent restarts will be just as fast as previously.

Downgrading requires the user to use the lighthouse db tool. See the Database Migrations documentation for detailed instructions.

Breaking Change: Keystore API

Lighthouse will now return readonly: true rather than readonly: null on the GET /eth/v1/keystores endpoint. This does not affect any other behaviour beyond that return value. We do not expect this behaviour to have an adverse impact on users.

Breaking Change: --execution-jwt flags

A bugfix was made to the --execution-jwt flag such that it can only be provided if --execution-endpoint is also provided. We hope that this has minimal impact on user setups as a node should either be configured with both flags (merge-ready) or neither (legacy). Full details are in https://github.com/sigp/lighthouse/pull/3494.

Update Priority

This table provides priorities for which classes of users should update particular components.

User Class Beacon Node Validator Client
Staking Users High Priority High Priority
Non-Staking Users High Priority ---

The Beacon Node may be updated without the Validator Client, however both components must be updated to support the merge. A validator client running a pre-v3.0.0 release will not produce blocks after the Bellatrix upgrade.

See Update Priorities for more information about this table.

All Changes

  • v3.1.0 (#3525)
  • Log fee recipients in VC (#3526)
  • Separate committee subscriptions queue (#3508)
  • Docker builds in GitHub actions (#3523)
  • Harden slot notifier against clock drift (#3519)
  • Add more logging for invalid payloads (#3515)
  • Reset payload statuses when resuming fork choice (#3498)
  • Validator registration request failures do not cause us to mark BNs offline (#3488)
  • Refactor op pool for speed and correctness (#3312)
  • More merge doc updates (#3509)
  • Return readonly: false for local keystores (#3490)
  • Enable block_lookup_failed EF test (#3489)
  • don't register exited or slashed validators with the builder api (#3473)
  • Pause sync when EE is offline (#3428)
  • Update docs for mainnet merge release (#3494)

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-v3.1.0-x86_64-apple-darwin.tar.gz PGP Signature
x86_64 lighthouse-v3.1.0-x86_64-apple-darwin-portable.tar.gz PGP Signature
x86_64 lighthouse-v3.1.0-x86_64-unknown-linux-gnu.tar.gz PGP Signature
x86_64 lighthouse-v3.1.0-x86_64-unknown-linux-gnu-portable.tar.gz PGP Signature
aarch64 lighthouse-v3.1.0-aarch64-unknown-linux-gnu.tar.gz PGP Signature
aarch64 lighthouse-v3.1.0-aarch64-unknown-linux-gnu-portable.tar.gz PGP Signature
x86_64 lighthouse-v3.1.0-x86_64-windows.tar.gz PGP Signature
x86_64 lighthouse-v3.1.0-x86_64-windows-portable.tar.gz PGP Signature
System Option - Resource
Docker v3.1.0 sigp/lighthouse
lighthouse - Rick Prime

Published by github-actions[bot] about 2 years ago

Summary

This high-priority release contains the parameters to enable the mainnet merge scheduled for September 2022. All mainnet users must upgrade to this release (or a subsequent release) before the Bellatrix fork on Sept 6, 2022, 11:34:47am UTC.

Users who fail to upgrade their nodes before the Bellatrix fork (September 6th) will stop following the canonical chain. We recommend upgrading to v3.0.0 at your earliest convenience.

In addition to upgrading to v3.0.0 (or later), users will also need to make other changes to their nodes. These changes will be familiar to Goerli/Prater users. For more information, please see our Merge Migration documentation.

Users will also be required to ensure that their "execution layer" client (i.e. Besu, Erigon, Geth or Nethermind) is also on a version with the latest merge parameters. We expect all consensus and execution layer clients to have merge-ready releases by 2022-08-23 (UTC). We recommend that users who are already using the --execution-endpoint flag to wait until their execution layer client has released a merge-compatible release and update both clients together. Updating Lighthouse before the execution layer is not harmful, but it will result in noisy ExchangeTransitionConfigurationFailed errors. The Ethereum Foundation is expected to publish an announcement on 2022-08-23 (UTC) with detailed information about which client releases are mainnet-ready.

There are also other valuable improvements and fixes in this release making it relevant to Prater/Goerli users as well:

  • Validator indices are included in attestation logs (#3393)
  • Various fixes to the builder API (#3429, #3441, #3412)
  • Improvements to lcli (#3252)
  • Do not return errors on the BN HTTP API for already-known messages (#3341)
  • Addition of mainnet merge parameters (#3462, #3425)
  • Improvements to how Lighthouse performs on the P2P network (#3439, #3485)
  • Re-addition of the LMDB database for the slasher (#3443)
  • Implementation of the standard VC gas_limit API (#3450)
  • Fixes to cache errors after checkpoint sync (#3466)

🐼 Special Message 🐼

This release marks the culmination of over four years hard work by Lighthouse contributors. Upgrading Ethereum to proof-of-stake has been an incredibly complex and challenging task requiring hundreds of individuals to collaborate across borders, timezones and languages.

This upgrade will do no less than change the world. It will show the blockchain industry that we can all do better. It will show the world that Ethereum is willing to risk its own existence for the sake of this planet and those who inhabit it.

To everyone who has contributed to Lighthouse by running testnets, reporting issues, building documentation, supporting users and writing code, this is your success. You built Lighthouse and you upgraded Ethereum.

Breaking Changes

The breaking changes in this release are not expected to have significant negative impact on users.

Breaking Change: Mainnet Merge Values

As previously mentioned, this release contains the "total terminal difficulty" and "Bellatrix fork epoch" parameters (#3462). The Lighthouse developers understand that there is wide-reaching and enthusiatic consensus about these values.

To support these changes, the /eth/v1/config/spec now returns values related to Bellatrix. More detail can be found in #3425.

Breaking Change: blinded_blocks API Changes

As per #3429:

  • The eth/v2/validator/blinded_blocks/{slot} endpoint was removed since it did not exist in the beacon-API spec.
  • The version value is now returned for the eth/v1/validator/blinded_blocks/{slot} endpoint, as per the beacon-API spec.

Breaking Change: Changes to lcli

The skip-slots and transition-blocks commands in lcli were overhauled to provide additional functionality and improved UX in #3252. Since lcli is a tool intended for developers we do not expect production users to be affected by these changes.

Update Priority

This table provides priorities for which classes of users should update particular components.

User Class Beacon Node Validator Client
Staking Users High Priority High Priority
Non-Staking Users High Priority ---

The Beacon Node may be updated without the Validator Client, however both components must be updated to support the merge. A validator client running a pre-v3.0.0 release will not produce blocks after the Bellatrix upgrade.

See Update Priorities for more information about this table.

All Changes

  • Pin cargo-udeps
  • Bump versions
  • Run per-slot fork choice at a further distance from the head (#3487)
  • Add metrics for EE PayloadStatus returns (#3486)
  • Revise EE peer penalites (#3485)
  • Bump EF tests to v1.2.0 rc.3 (#3483)
  • Unblock CI by updating git submodules directly in execution integration tests (#3479)
  • Optimistic sync: remove justified block check (#3477)
  • Add test for exits spanning epochs (#3476)
  • Align engine API timeouts with spec (#3470)
  • Add mainnet merge values 🐼 (#3462)
  • Log if no execution endpoint is configured (#3467)
  • Fix block verification and checkpoint sync caches (#3466)
  • Increase merge-readiness lookhead (#3463)
  • Standard gas limit api (#3450)
  • Modularise slasher backend (#3443)
  • Fix lints for Rust 1.63 (#3459)
  • Handle processing results of non faulty batches (#3439)
  • Linkcheck fix (#3452)
  • lighthouse_version: Fix version string regex (#3451)
  • Remove some "wontfix" TODOs for the merge (#3449)
  • Serve Bellatrix preset in BN API (#3425)
  • Remove INVALID_TERMINAL_BLOCK (#3385)
  • Don't return errors on HTTP API for already-known messages (#3341)
  • fix: incorrectly formatted MEV link in Lighthouse Book (#3434)
  • Don't use the builder network if the head is optimistic (#3412)
  • Update Prater ENRs (#3396)
  • Add support for beaconAPI in lcli functions (#3252)
  • [Contribution docs] Add GitPOAP Badge to Display Number of Minted GitPOAPs for Contributors (#3343)
  • Don't attempt to register validators that are pre-activation (#3441)
  • crypto/bls: make blst dependency optional (#3387)
  • Update invalid head tests (#3400)
  • Expand merge migration docs (#3430)
  • Ensure validator/blinded_blocks/{slot} endpoint conforms to spec (#3429)
  • Include validator indices in attestation logs (#3393)
  • Downgrade log for 204 from builder (#3411)
  • Use latest Geth release in EE integration tests (#3395)

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-v3.0.0-x86_64-apple-darwin.tar.gz PGP Signature
x86_64 lighthouse-v3.0.0-x86_64-apple-darwin-portable.tar.gz PGP Signature
x86_64 lighthouse-v3.0.0-x86_64-unknown-linux-gnu.tar.gz PGP Signature
x86_64 lighthouse-v3.0.0-x86_64-unknown-linux-gnu-portable.tar.gz PGP Signature
aarch64 lighthouse-v3.0.0-aarch64-unknown-linux-gnu.tar.gz PGP Signature
aarch64 lighthouse-v3.0.0-aarch64-unknown-linux-gnu-portable.tar.gz PGP Signature
x86_64 lighthouse-v3.0.0-x86_64-windows.tar.gz PGP Signature
x86_64 lighthouse-v3.0.0-x86_64-windows-portable.tar.gz PGP Signature
System Option - Resource
Docker v3.0.0 sigp/lighthouse
lighthouse - Slippy

Published by github-actions[bot] about 2 years ago

Summary

This high-priority release contains important fixes for mainnet users.

There were two separate bugs introduced into fork choice in v2.4.0 and v2.5.0.

The first bug results in a steady memory footprint increase of 100MB per month. It has been less than two weeks since that release so it's unlikely that a significant memory increase can be observed, yet. It was fixed in #3408.

The second bug can result in an error during fork choice. This error will only be triggered in rare timing-based circumstances and will resolve itself within seconds. It was fixed in #3402.

Furthermore, an incompatibility between Lighthouse VCs running v2.5.0 and BNs running a version prior to v2.5.0 (or Nimbus BNs) was detected and fixed in #3410.

Breaking Changes

There are no breaking changes in this release. If users have not already upgraded to v2.5.0 they should read the v2.5.0 release notes for the breaking changes in that release.

Update Priority

This table provides priorities for which classes of users should update particular components.

User Class Beacon Node Validator Client
Staking Users High Priority Low Priority
Non-Staking Users High Priority ---

The Beacon Node may be updated without the Validator Client, however we recommend updating both components.

See Update Priorities for more information about this table.

All Changes

  • Release v2.5.1 (#3406)
  • Ignore RUSTSEC-2022-0040 - owning_ref soundness (#3415)
  • Restore backwards compatibility when using older BNs (#3410)
  • Make fork choice prune again (#3408)
  • Ensure FC uses the current slot from the store (#3402)
  • Fix a few typos in option help strings (#3401)
  • Add list of DB migrations to docs (#3399)
  • Tidy eth1/deposit contract logging (#3397)

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-v2.5.1-x86_64-apple-darwin.tar.gz PGP Signature
x86_64 lighthouse-v2.5.1-x86_64-apple-darwin-portable.tar.gz PGP Signature
x86_64 lighthouse-v2.5.1-x86_64-unknown-linux-gnu.tar.gz PGP Signature
x86_64 lighthouse-v2.5.1-x86_64-unknown-linux-gnu-portable.tar.gz PGP Signature
aarch64 lighthouse-v2.5.1-aarch64-unknown-linux-gnu.tar.gz PGP Signature
aarch64 lighthouse-v2.5.1-aarch64-unknown-linux-gnu-portable.tar.gz PGP Signature
x86_64 lighthouse-v2.5.1-x86_64-windows.tar.gz PGP Signature
x86_64 lighthouse-v2.5.1-x86_64-windows-portable.tar.gz PGP Signature
System Option - Resource
Docker v2.5.1 sigp/lighthouse
lighthouse - Galactic Federation President

Published by github-actions[bot] about 2 years ago

Summary

This medium-priority release contains a fix for mainnet users experiencing slow "eth1 cache" syncing times (several hours or more). A synced eth1 cache is required for reliable block production.

For Prater/Goerli users, this release contains several new features and bug fixes. The developers kindly request that all Prater/Goerli users update to this release before the Bellatrix upgrade (2022-08-04 12:24 pm UTC). This release is very close to what will be used for the mainnet merge (presently unscheduled). This release should get as much testing as possible during the Prater/Goerli upgrade. Any Prater/Goerli users on v2.3.1 must upgrade to this release before the Bellatrix upgrade or they will follow the wrong chain.

Improvements and fixes include:

  • Add execution_optimistic flag to HTTP responses (#3070, #3374)
  • Fix slow eth1 cache syncing times (#3358)
  • Full support for builder specs v0.2.0 (i.e. mev-boost support) (#3134)
  • Retrospective verification of optimistically-synced merge transition blocks (#3372)
  • Improve peer management when the EL is offline (#3384)

Breaking Changes

Breaking Change: Database Migrations

There are two database migrations in this release; v10 (#3322) and v11 (#3371).

Older database versions will automatically upgrade to the latest version without user intervention.

Downgrading requires the user to use the lighthouse db tool. See the Database Migrations documentation for detailed instructions.

Breaking Change: Addition of execution_optimistic flag to HTTP API

The execution_optimistic flag has been added alongside the data field on some (but not all) HTTP API responses as per v2.3.0 of the standard Beacon API.

It is unclear if adding a field at this section of the API is truly a breaking change or not, however we list it here for completeness.

Example:

// Lighthouse v2.4.0
{ "data": "object" }

// Lighthouse v2.5.0
{ "data": "object", "execution_optimistic": "boolean" }

Reminder: CLI changes in v2.4.0

The previous release (v2.4.0) contained several changes to CLI flags relating to the merge. Whilst we expect these changes to be largely inconsequential, users on a pre-v2.4.0 release should read the v2.4.0 release notes to understand these changes.

Update Priority

This table provides priorities for which classes of users should update particular components.

User Class Beacon Node Validator Client
Staking Users Medium Priority Low Priority
Non-Staking Users Low Priority ---

The Beacon Node may be updated without the Validator Client, however we recommend updating both components.

See Update Priorities for more information about this table.

All Changes

  • v2.5.0 (#3392)
  • Indicate that invalid blocks are optimistic (#3383)
  • Enable count-unrealized by default (#3389)
  • Fix penalties in sync methods (#3384)
  • Initial Commit of Retrospective OTB Verification (#3372)
  • Builder Specs v0.2.0 (#3134)
  • Don't return errors when fork choice fails (#3370)
  • Remove equivocating validators from fork choice (#3371)
  • Downgrade Geth to v1.10.20 in EE integration tests (#3382)
  • Fix antithesis docker builds (#3380)
  • Allow setting web3signer version through environment (#3368)
  • Return ResourceUnavailable if we are unable to reconstruct execution payloads (#3365)
  • Allow syncing or accepted in integration test (#3378)
  • Reformat tables and add borders (#3377)
  • Fix some typos (#3376)
  • Refuse to sign sync committee messages when head is optimistic (#3191)
  • Add is_optimistic to eth/v1/node/syncing response (#3374)
  • Strict fee recipient (#3363)
  • Add merge transition docs (#3361)
  • Fix Block Cache Range Math for Faster Syncing (#3358)
  • Realized unrealized experimentation (#3322)
  • Add execution_optimistic flag to HTTP responses (#3070)

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-v2.5.0-x86_64-apple-darwin.tar.gz PGP Signature
x86_64 lighthouse-v2.5.0-x86_64-apple-darwin-portable.tar.gz PGP Signature
x86_64 lighthouse-v2.5.0-x86_64-unknown-linux-gnu.tar.gz PGP Signature
x86_64 lighthouse-v2.5.0-x86_64-unknown-linux-gnu-portable.tar.gz PGP Signature
aarch64 lighthouse-v2.5.0-aarch64-unknown-linux-gnu.tar.gz PGP Signature
aarch64 lighthouse-v2.5.0-aarch64-unknown-linux-gnu-portable.tar.gz PGP Signature
x86_64 lighthouse-v2.5.0-x86_64-windows.tar.gz PGP Signature
x86_64 lighthouse-v2.5.0-x86_64-windows-portable.tar.gz PGP Signature
System Option - Resource
Docker v2.5.0 sigp/lighthouse
lighthouse - Geardude Clockberg

Published by github-actions[bot] over 2 years ago

Summary

This low-priority release contains improvements for mainnet validators and support for the upcoming Goerli/Prater merge. This release is recommended for all validators on all networks.

Whilst this release is "low-priority" for mainnet, Prater users must upgrade to this release (or a subsequent release) before 2022-08-04 12:24 pm UTC for the Bellatrix fork. Failure to upgrade in time will leave nodes following the wrong chain.

Improvements and fixes include:

  • Various bugfixes (#3258, #2911, #3287, #3331, #3350, #3347)
  • Various optimisations (#3271, #3301, #3272, #3335)
  • Support for the Sepolia network (#3268, #3288)
  • Removal of support for multiple execution endpoints (#3257, #3283, #3284, #3324)
  • Graceful recovery from NonConsecutive eth1 endpoint errors (#3273)
  • More information in block rewards APIs (#3290)
  • Stabilisation of CLI flags for the merge (#3214)
  • Addition of the feerecipient API (#3213)
  • Improvement to fallback BN behaviour for sync committees (#3291)
  • Bump minimum supported Rust version to 1.62 (#3304)
  • Bellatrix support for web3signer (#3318)
  • Update Docker Rust version (#3353)
  • Add TTD and Bellatrix epoch for Prater/Goerli (#3345)
  • "Merge ready" logging and API endpoint (#3339, #3349)
  • Add --network goerli flag (#3346)

Addition of --network goerli

Since Prater and Goerli will be merging, there is a consensus among the Ethereum community to begin to refer to the "Prater" beacon chain as the "Goerli" beacon chain. This helps convey the idea that the beacon chain and execution chain both form a single, unified chain.

To this end, this release supports the --network goerli flag. Whilst this flag will connect to exactly the same network as when using --network prater, it will result in a default data directory in ~/.lighthouse/goerli, rather than ~/.lighthouse/prater.

For users already using --network prater, we recommend sticking with this value. Switching to --network goerli will trigger Lighthouse to use a new data directory and therefore resync the beacon chain and ignore any existing validators. It's possible to migrate the prater directory across to the goerli name, however we do not have instructions for that at this stage.

In summary,

  • The safest strategy for existing users should stick with --network prater
  • New users should use --network goerli

The only difference is naming.

Breaking Changes

The breaking changes in this release should be inconsequential for mainnet users. However the changes may have some impact for users of post-merge testnets.

Breaking Change: Minimum Supported Rust Version (MSRV)

The MSRV was set to Rust 1.62 in #3304. Version 1.62 was released on June 30, 2022. If you are using an older version of Rust, please update before compiling.

Breaking Change: finalized_checkpoint SSE event

In #3244, the state field of the finalized_checkpoint SSE endpoint now represents the state root of the finalized block, rather than the state root at the finalized slot. See #3244 for more information.

This change aligns Lighthouse with Teku's behaviour. It should be inconsequential for most users.

Breaking Change: Removal of --suggested-fee-recipient-file

The --suggested-fee-recipient-file provided a path to a file which contained a mapping of validator public key to suggested fee recipient. With the addition of the feerecipient API (#3213), this feature was deemed an unncessary burden to mainain. The feature has been removed in this release, the validator client will fail to start if --suggested-fee-recipient-file is present.

The reasoning for this decision can be found at #3264.

Breaking Change: Stabilisation of CLI flags for the merge

This release stabilises the flags that will be used for the beacon node after the merge. Whilst there are some functional changes to the flags we have worked to ensure that the BN will still start even when using deprecated flags; deprecated flags or features will be ignored and a deprecation notice logged.

Details

The --merge flag has been deprecated and no longer has any effect (it is permitted but ignored). Support for the merge will be enabled whenever --execution-endpoint is supplied.

Support for multiple execution endpoints and payload builders has been removed. Only one value may be supplied for all related CLI flags. This has involved renaming some flags to remove the plural; the plural version now aliases to the singular version, but only supports a single value. Some jwt flags have been renamed for clarity. The full list of renamed flags is below:

Old Flag (aliased to "New Flag") New Flag
--execution-endpoints --execution-endpoint
--jwt-secrets --execution-jwt
--jwt-id --execution-jwt-id
--jwt-version --execution-jwt-version
--payload-builders --payload-builder

Additionally, the --eth1-endpoints flag will be ignored if the --execution-endpoint flag is provided. Any requests that were sent to the --eth1-endpoints will instead be sent to the --execution-endpoint.

This list of changes does appear complex, however we believe that migration to the new format should be rather simple. We expect all existing CLI configurations to still work, but with some deprecated values ignored.

Here are some examples for demonstration:

# Still works exactly as before. Multiple eth1-endpoints will still be 
# utilised since `--execution-endpoints` is not present.
lighthouse \
    bn \
    --eth1-endpoints http://localhost:8545,https://third-party.com

# Still works, however `--eth1-endpoints` will be ignored in favor
# of `--execution-endpoints`.
lighthouse \
    bn \
    --merge \
    --execution-endpoints http://localhost:8551 \
    --jwt-secrets jwt.hex \
    --eth1-endpoints http://localhost:8545,https://third-party.com

# Still works, however only the `192.168.1.1` server will be used.
# The seconds will be ignored.
lighthouse \
    bn \
    --merge \
    --execution-endpoints http://192.168.1.1:8551,http://192.168.1.2:8551 \
    --jwt-secrets jwt-1.hex,jwt-2.hex

# These are the minimum ideal flags for the merge.
# The --http flag is also required for staking.
lighthouse \
    bn \
    --execution-endpoint http://192.168.1.1:8551 \
    --execution-jwt jwt.hex

Reminder: Docker Base Image

In the penultimate release (v2.3.0), the Docker base image was updated from Ubuntu 20.04 to Ubuntu 22.04 LTS. Older versions of Docker are unable to run the new image due to an incompatibility, so please ensure that you update your Docker engine past version 20.10.10 (released Oct 2021). Please see https://github.com/sigp/lighthouse/issues/3230 for more information.

Update Priority

This table provides priorities for which classes of users should update particular components.

User Class Beacon Node Validator Client
Staking Users Low Priority Low Priority
Non-Staking Users Low Priority ---

Please note: this update is high-priority for Prater users.

The Beacon Node may be updated without the Validator Client, however we recommend updating both components.

See Update Priorities for more information about this table.

All Changes

  • v2.4.0 (#3360)
  • Merge readiness endpoint (#3349)
  • Set safe block hash to justified (#3347)
  • Add Goerli --network flag as duplicate of Prater: Option A (#3346)
  • Log ttd (#3339)
  • Fix Gossip Penalties During Optimistic Sync Window (#3350)
  • Add TTD and Bellatrix epoch for Prater (#3345)
  • debug tests rust version (#3354)
  • docker rust version update (#3353)
  • Share reqwest::Client between validators when using Web3Signer (#3335)
  • Don't create a execution payload with same timestamp as terminal block (#3331)
  • Add merge support to simulator (#3292)
  • Make transactions in execution layer integration tests (#3320)
  • Improve block-lookup functionality (#3287)
  • Add Merge support to web3signer validators (#3318)
  • Upstream local testnet improvements (#3336)
  • Add a u256_hex_be module to encode/decode U256 types (#3321)
  • Ignored sync jobs 2 (#3317)
  • Bump the MSRV to 1.62 and using #[derive(Default)] on enums (#3304)
  • Do not interpret "latest valid hash" as identifying a valid hash (#3327)
  • Further remove EE redundancy (#3324)
  • Add --release to disallowed-from-async lint (#3325)
  • add sync committee contribution timeout (#3291)
  • Merge Engines and Engine struct in one in the execution_layer crate (#3284)
  • eth2_hashing: make cpufeatures dep optional (#3309)
  • Implement feerecipient API for keymanager (#3213)
  • Fix RUSTSEC-2022-0032 (#3311)
  • Document min CMake version (#3310)
  • Ensure caches are built for block_rewards POST API (#3305)
  • Remove unused method in HandlerNetworkContext (#3299)
  • Simplify error handling after engines fallback removal (#3283)
  • Optimize historic committee calculation for the HTTP API (#3272)
  • Use latest tags for nethermind and geth in the execution engine integration test (#3303)
  • Use async code when interacting with EL (#3244)
  • Avoid growing Vec for sync committee indices (#3301)
  • Remove builder redundancy (#3294)
  • Fix clippy lints for rust 1.62 (#3300)
  • Register validator api (#3194)
  • Unify execution layer endpoints (#3214)
  • Extend block reward APIs (#3290)
  • Update Cross config for v0.2.2 (#3286)
  • v2.3.2-rc.0 (#3289)
  • Update Sepolia TTD (#3288)
  • Recover from NonConsecutive eth1 errors (#3273)
  • Test the pruning of excess peers using randomly generated input (#3248)
  • Add more paths to HTTP API metrics (#3282)
  • Add some debug logs for checkpoint sync (#3281)
  • Deprecate step param in BlocksByRange RPC request (#3275)
  • Initial work to remove engines fallback from the execution_layer crate (#3257)
  • Enable malloc metrics for the VC (#3279)
  • Avoid cloning snapshots during sync (#3271)
  • Fix validator_monitor_prev_epoch_ metrics (#2911)
  • Do not penalize peers on execution layer offline errors (#3258)
  • Update cargo lockfile to fix RUSTSEC-2022-0025, RUSTSEC-2022-0026 and RUSTSEC-2022-0027 (#3278)
  • Add sepolia config (#3268)

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-v2.4.0-x86_64-apple-darwin.tar.gz PGP Signature
x86_64 lighthouse-v2.4.0-x86_64-apple-darwin-portable.tar.gz PGP Signature
x86_64 lighthouse-v2.4.0-x86_64-unknown-linux-gnu.tar.gz PGP Signature
x86_64 lighthouse-v2.4.0-x86_64-unknown-linux-gnu-portable.tar.gz PGP Signature
aarch64 lighthouse-v2.4.0-aarch64-unknown-linux-gnu.tar.gz PGP Signature
aarch64 lighthouse-v2.4.0-aarch64-unknown-linux-gnu-portable.tar.gz PGP Signature
x86_64 lighthouse-v2.4.0-x86_64-windows.tar.gz PGP Signature
x86_64 lighthouse-v2.4.0-x86_64-windows-portable.tar.gz PGP Signature
System Option - Resource
Docker v2.4.0 sigp/lighthouse
lighthouse - Man Painted Silver Who Makes Robot Noises

Published by github-actions[bot] over 2 years ago

🧑‍🔧 Release Candidate: Not for Production Use 🧑‍🔧

This is a release candidate. It is not production-ready and not recommended for mainnet use.

For more information on release candidates, see: https://lighthouse-book.sigmaprime.io/advanced-release-candidates.html

Summary

This release-candidate provides the updated total terminal difficulty (TTD) value for the Sepolia testnet. We recommend all users who wish to participate in the Sepolia merge to upgrade to this release.

Users on other networks (Mainnet, Prater, Ropsten, etc) do not need to upgrade to this release.

All Changes

  • v2.3.2-rc.0 (#3289)
  • Update Sepolia TTD (#3288)
  • Recover from NonConsecutive eth1 errors (#3273)
  • Test the pruning of excess peers using randomly generated input (#3248)
  • Add more paths to HTTP API metrics (#3282)
  • Add some debug logs for checkpoint sync (#3281)
  • Deprecate step param in BlocksByRange RPC request (#3275)
  • Initial work to remove engines fallback from the execution_layer crate (#3257)
  • Enable malloc metrics for the VC (#3279)
  • Avoid cloning snapshots during sync (#3271)
  • Fix validator_monitor_prev_epoch_ metrics (#2911)
  • Do not penalize peers on execution layer offline errors (#3258)
  • Update cargo lockfile to fix RUSTSEC-2022-0025, RUSTSEC-2022-0026 and RUSTSEC-2022-0027 (#3278)
  • Add sepolia config (#3268)

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-v2.3.2-rc.0-x86_64-apple-darwin.tar.gz PGP Signature
x86_64 lighthouse-v2.3.2-rc.0-x86_64-apple-darwin-portable.tar.gz PGP Signature
x86_64 lighthouse-v2.3.2-rc.0-x86_64-unknown-linux-gnu.tar.gz PGP Signature
x86_64 lighthouse-v2.3.2-rc.0-x86_64-unknown-linux-gnu-portable.tar.gz PGP Signature
aarch64 lighthouse-v2.3.2-rc.0-aarch64-unknown-linux-gnu.tar.gz PGP Signature
aarch64 lighthouse-v2.3.2-rc.0-aarch64-unknown-linux-gnu-portable.tar.gz PGP Signature
x86_64 lighthouse-v2.3.2-rc.0-x86_64-windows.tar.gz PGP Signature
x86_64 lighthouse-v2.3.2-rc.0-x86_64-windows-portable.tar.gz PGP Signature
System Option - Resource
Docker v2.3.2-rc.0 sigp/lighthouse
lighthouse - Butter Robot

Published by github-actions[bot] over 2 years ago

Summary

This high-priority release contains important bug-fixes and improvements that we recommend for all users.

Notable changes include:

  • Fix to prevent clock drift interfering with fork choice (#3243)
  • Significant optimisations to reduce likelihood of missed head/target attestations (#3254, #3229)
  • Fixes to networking issues (#3236, #3233, #3259, #2361)
  • Improvements for the Ropsten testnet (#2340, #3234)

Breaking Changes

There are no known breaking changes in this release.

Reminder: Docker Base Image

In the previous release (v2.3.0), the Docker base image was updated from Ubuntu 20.04 to Ubuntu 22.04 LTS. Older versions of Docker are unable to run the new image due to an incompatibility, so please ensure that you update your Docker engine past version 20.10.10 (released Oct 2021). Please see https://github.com/sigp/lighthouse/issues/3230 for more information.

Update Priority

This table provides priorities for which classes of users should update particular components.

User Class Beacon Node Validator Client
Staking Users High Priority Low Priority
Non-Staking Users High Priority ---

The Beacon Node may be updated without the Validator Client, however we recommend updating both components.

See Update Priorities for more information about this table.

All Changes

  • v2.3.1 (#3262)
  • Improve substream management (#3261)
  • Optimise per_epoch_processing low-hanging-fruit (#3254)
  • Lint against panicky calls in async functions (#3250)
  • Pin MDBX at last version with Win/Mac support (#3246)
  • minor libp2p upgrade (#3259)
  • Only use authenticated endpoints during EE integration testing (#3253)
  • do not count sync batch attempts when peer is not at fault (#3245)
  • update libp2p (#3233)
  • Fix per-slot timer in presence of clock changes (#3243)
  • reduce reprocess queue/channel sizes (#3239)
  • Fix: PeerManager doesn't remove "outbound only" peers which should be pruned (#3236)
  • Update Ropsten TTD (#3240)
  • Improve eth1 block cache sync (for Ropsten) (#3234)
  • Switch Nethermind integration tests to use master branch (#3228)
  • Emit log when fee recipient values are inconsistent (#3202)
  • Use a stable tag for ubuntu in dockerfile (#3231)
  • Inline safe_arith methods (#3229)
  • Use genesis slot for node/syncing (#3226)
  • Fix typo in peer state transition log (#3224)
  • Add lcli indexed-attestations (#3221)
  • Fix links in docs (#3219)

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-v2.3.1-x86_64-apple-darwin.tar.gz PGP Signature
x86_64 lighthouse-v2.3.1-x86_64-apple-darwin-portable.tar.gz PGP Signature
x86_64 lighthouse-v2.3.1-x86_64-unknown-linux-gnu.tar.gz PGP Signature
x86_64 lighthouse-v2.3.1-x86_64-unknown-linux-gnu-portable.tar.gz PGP Signature
aarch64 lighthouse-v2.3.1-aarch64-unknown-linux-gnu.tar.gz PGP Signature
aarch64 lighthouse-v2.3.1-aarch64-unknown-linux-gnu-portable.tar.gz PGP Signature
x86_64 lighthouse-v2.3.1-x86_64-windows.tar.gz PGP Signature
x86_64 lighthouse-v2.3.1-x86_64-windows-portable.tar.gz PGP Signature
System Option - Resource
Docker v2.3.1 sigp/lighthouse
lighthouse - Baby Wizard

Published by github-actions[bot] over 2 years ago

Summary

This high priority release contains important bug-fixes and improvements that we recommend for all users. Importantly, fixes are included for the recent 7-block re-org on mainnet. Fast and widespread adoption of this release will help protect the network from repetition of this event.

This release also contains fixes to increase the chances of getting head votes and producing blocks during degenerate scenarios.

Notable changes include:

  • Bug-fix to increase likelihood of block production in degenerate cases (#3188)
  • Bug-fix to prevent missed head votes in degenerate cases (#3183)
  • Running fork choice before proposing a block (#3168)
  • Proposer boost reduced to 40% (#3201)
  • Optimisation to lessen impact of backfill resource hogging (#3215)
  • Support for the Ropsten Beacon Chain (#3184, #3225)
  • Support for the Remote Key Manager API (#3162)
  • Various improvements to syncing and networking (#3142, #3153, #3182)
  • Bug-fix for HTTP Accept header parsing (#3185)
  • Client authentication for Web3Signer (#3170)
  • Smaller intermediate images during Docker builds (#3174)
  • Fixes for merge testnets (#3165)

Thanks to external contributors @ackintosh, @huitseeker, @zsluedem and @petertdavies. Special shout-out to @tthebst who contributed two important PRs to this release (#3162, #3188).

Ropsten

Use the --network ropsten flag to join the Ropsten testnet.

This release introduces support for the Ropsten Beacon Chain with the updated total terminal difficulty (TTD) value of 1e32. We recommend all Ropsten users running v2.3.0-rc.0 to upgrade to this version before the Ropsten beacon chain genesis (less than 12 hours away, at the time of writing).

Breaking Changes

❗ Database Schema Upgrade ❗

This release contains a backwards-incompatible database schema migration for any network that has undergone "the merge" (see #3157). At the time of writing, this includes Kiln and Kintsugi but excludes Prater and Mainnet. For clarity:

  • Prater, Mainnet: users who upgrade to v2.3.0 are able to downgrade to v2.2.x and v2.1.x releases using lighthouse db
  • Kiln, Kinstugi: users who upgrade to v2.3.0 are not able to downgrade to any prior release

See the Database Migrations documentation for more information on downgrading.

Docker Base Image

The Docker base image has been updated from Ubuntu 20.04 to Ubuntu 22.04 LTS. Older versions of Docker are unable to run the new image due to an incompatibility, so please ensure that you update your Docker engine past version 20.10.10 (released Oct 2021). Please see https://github.com/sigp/lighthouse/issues/3230 for more information.

Update Priority

This table provides priorities for which classes of users should update particular components.

User Class Beacon Node Validator Client
Staking Users High Priority Medium Priority
Non-Staking Users High Priority ---

The Beacon Node may be updated without the Validator Client, however we recommend updating both components.

See Update Priorities for more information about this table.

All Changes

  • v2.3.0 (#3222)
  • Set Ropsten TTD to unrealistically high value (#3225)
  • move backfill sync jobs from highest priority to lowest (#3215)
  • Add new VC metrics for beacon node availability (#3193)
  • v2.3.0-rc.0 (#3218)
  • Avoid parallel fork choice runs during sync (#3217)
  • Document database migrations (#3203)
  • Decrease proposer boost to 40% (#3201)
  • Call per_slot_task from a blocking thread (v2) (#3199)
  • Remove build status badge from README (#3195)
  • Fix Rust 1.61 clippy lints (#3192)
  • Add Ropsten configuration (#3184)
  • Run fork choice before block proposal (#3168)
  • Log out response status when we hit PayloadIdUnavailable (#3190)
  • Tiny improvement: PeerManager and maximum discovery query (#3182)
  • Add client authentication to Web3Signer validators (#3170)
  • Avoid unnecessary slashing protection when publishing blocks (#3188)
  • Fix http header accept parsing problem (#3185)
  • Remove DB migrations for legacy database schemas (#3181)
  • Prevent attestation to future blocks from early attester cache (#3183)
  • Allow TaskExecutor to be used in async tests (#3178)
  • [refactor] Refactor Option/Result combinators (#3180)
  • Remove lcli block packing analysis (#3179)
  • Separate execution payloads in the DB (#3157)
  • Exclude EE build dirs from Docker context (#3174)
  • Add remotekey API support (#3162)
  • Fix: no version info in homebrew package (#3167)
  • Don't panic in forkchoiceUpdated handler (#3165)
  • Fix Execution Engine integration tests (#3163)
  • Change the url of the blog post (#3161)
  • Poll shutdown timeout in rpc handler (#3153)
  • log upgrades + prevent dialing of disconnecting peers (#3148)
  • Disallow attesting to optimistic head (#3140)
  • keep failed finalized chains to avoid retries (#3142)

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-v2.3.0-x86_64-apple-darwin.tar.gz PGP Signature
x86_64 lighthouse-v2.3.0-x86_64-apple-darwin-portable.tar.gz PGP Signature
x86_64 lighthouse-v2.3.0-x86_64-unknown-linux-gnu.tar.gz PGP Signature
x86_64 lighthouse-v2.3.0-x86_64-unknown-linux-gnu-portable.tar.gz PGP Signature
aarch64 lighthouse-v2.3.0-aarch64-unknown-linux-gnu.tar.gz PGP Signature
aarch64 lighthouse-v2.3.0-aarch64-unknown-linux-gnu-portable.tar.gz PGP Signature
x86_64 lighthouse-v2.3.0-x86_64-windows.tar.gz PGP Signature
x86_64 lighthouse-v2.3.0-x86_64-windows-portable.tar.gz PGP Signature
System Option - Resource
Docker v2.3.0 sigp/lighthouse
Package Rankings
Top 8.17% on Proxy.golang.org
Badges
Extracted from project README
Book Status Chat Badge
Related Projects