github status-im/nimbus-eth2 v1.7.0

latest releases: nightly, v24.4.0, v24.3.0...
2 years ago

Notes

Nimbus v1.7.0 is a low-urgency feature-packed upgrade, which brings support for trusted node sync (also known as checkpoint sync) and HTTPS web3 providers.

Of particular note: the Keymanager API now supports remote keystores (a.k.a web3signer keystores).

Breaking changes

  • Nimbus will no longer rewrite HTTP(S) web3 URLs to their respective WebSocket analogues. Please review your setup to ensure you are using the right web3 protocol for your endpoint.

  • The peer scoring has been further tuned. As such the --max-peers should not be set below 70. Note that Lowering max-peers does not significantly improve bandwidth usage, but does increase the risk of missed attestations.

Improvements:

  • Trusted node sync: #3326

  • Full support for HTTP and HTTPS web3 URLs: #3354

    • Nimbus now treats the first --web3-url as a primary and preferred web3 provider. Any extra URLs are treated as fallback providers (to be used only when the primary is offline). As soon as the primary is usable again, Nimbus will switch back to it.
  • The Keymanager API now supports management of remote keystores (also known as web3signer keystores): #3360

  • The typical memory usage of Nimbus on mainnet is now below 1GB (thanks to 128MB of savings): #3293

  • Faster beacon node startup-times: #3320

  • The REST API is now compatible with CORS-enabled clients (e.g. browsers): #3378

    • Use the --rest-allow-origin and/or --keymanager-allow-origin parameters to specify the allowed origin.
  • A new --rest-url parameter for the deposits exit command: #3344, #3318

    • You can now issue exits using any beacon node which provides the official REST API. The Nimbus-specific JSON-RPC API will be deprecated in our next release, with a view to completely phasing it out over the next few months.
  • The REST API will now return JSON data by default which simplifies testing the API with curl.

    • The notable exception here is when the client requests SSZ data by supplying an Accept: application/octet-stream header.
  • Fairer request capping strategy for block sync requests and reduced CPU usage when serving them: #3358

  • More accurate Nim GC memory usage metrics.

  • BLST upgrade (latest version): #3364

  • The web3 test command now provides more data about the selected provided: #3354

We've fixed:

  • Unnecessary CPU and bandwidth usage: #3308
    • The result of staying subscribed to sync committee topics even when the client is not acting as a validator within that committee.
  • Excessive logging on beacon nodes with large numbers of validators (in particular, those with --validator-monitor-totals enabled): #3332
  • Deviations from the spec in the REST API; this led to sub-optimal performance when Nimbus was paired with Vouch.
  • Naming inconsistencies in the "totals" metrics (this was produced by the validator monitor).
  • Non-compliant implementation of the /eth/v1/node/health API (we were not producing HTTP status codes as mandated by the spec).
  • Unnecessary restarts of the Eth1 syncing progress when the web3 provider connection was lost during sync: #3354

Urgency guidelines

low-urgency: update at your own convenience, sometime within our normal update cycle of two weeks

medium-urgency: may contain an important stability fix, it is better to update sooner rather than later

high-urgency: update as soon as you can, this is a critical update required for Nimbus to function correctly

Binaries

Scroll to the bottom of this release and click on the tar.gz which corresponds to your OS and architecture: unpack the archive, read the README and run the binary directly (or through one of our provided wrapper scripts).

We've designed the build process to be reproducible. In practice, this means that anyone can verify that these exact binaries were produced from the corresponding source code commits. For more about the philosophy and importance of this feature see reproducible-builds.org.

For instructions on how to reproduce the build, see the included "README.md" file. See pre-built binaries documentation for more.

SHA512 checksums

# Linux AMD64
95f1695dd7404ee2413b71e2f3f00ba7faf3c3b3e07a9ca538ae5ab9fe99f6663e881e6a041bd6a7cacaf859f2ae096af69d54d24058ae2a6dad6979af393e0b  nimbus_beacon_node
# Linux ARM64
74637a15356df71c8a29df0046b3458d24d74b0c5b5f595d34b6770bb2be1d8fd852bac3b9a4161db7f5c4dd8396ce96c3cc65dd4f9564856fa7162a2c96712d  nimbus_beacon_node
# Linux ARM
925be9b11e0cbc428a75fe8c729970a61d902a2a9f43f909fba4ba96eb0030c88a489038f2da0d8584f0a36046e95a6deed7f09c707ad966e048a916a4c282bf  nimbus_beacon_node
# Windows AMD64
848ea73a62b51ee5997e475d8eb89908e3057ebd70af3b837dd9d3b6ef520c3baf184535f400e45c5dc7ac627338665cccf4e69d9bf4860d285117168d2241c3  nimbus_beacon_node
# macOS AMD64
66872afb28f415eb3e5cab7e863b0d05d23274f1adec911530c1a63c656ff6930311fac00aa4b2227fb60e45606c81c5ab93403f1bc7029581197c5d078ec1e4  nimbus_beacon_node
# macOS ARM64
75ec522bd8800d289139f000bc19c70ff78fcce42c0579f7ee27654645190232ebd6ffcc0bf86f1a22ccc9098337488c32ddf50d816b35bf1770fd734f1435d9  nimbus_beacon_node

Don't miss a new nimbus-eth2 release

NewReleases is sending notifications on new releases.