Skip to content

v1.7.0

Compare
Choose a tag to compare
@jclapis jclapis released this 03 Nov 04:37
· 218 commits to master since this release
5dd6f54

This is v1.7.0 of the Smartnode stack - the next major release which includes several new features, fixes a few small bugs, comes with important dependency and client updates. This release comes with some breaking changes, so please carefully read the info below before updating!

Breaking Changes

Docker Compose

The Smartnode now uses the Docker Compose plugin instead of the standalone docker-compose script.
The standalone script is no longer supported and the plugin is regularly maintained instead; the Smartnode no longer requires a specific version of the plugin - it will use the version maintained by your Operating System's package managers.

Users on Debian, Ubuntu, CentOS, and Fedora will be upgraded automatically when running rocketpool service install (for a fresh install) or rocketpool service install -d (for upgrading an existing install).

If you installed docker-compose manually instead or use an unsupported Linux distribution, you will need to update to the new plugin. See Docker's official install instructions for the steps on how to do this.
(Note for Alpine Linux users: this can be done with the docker-cli-compose packages from the community edge repository.)

MEV-Boost

v1.7.0 marks the beginning of Phase 2 of the MEV system. MEV is now opt-out instead of opt-in. MEV-Boost will be enabled by default for all Docker and Hybrid mode users, and they must either enable one or more profiles / relays, or explicitly disable MEV-Boost in the rocketpool service config TUI.

MEV-Boost now has two ways to select relays:

  • The new profile mode, which lets you pick "profiles" of relays you want to subscribe to (e.g., unregulated and no sandwiching, or regulated and all MEV) and will subscribe to all relays that fit those profiles automatically.
  • Relay mode (which is what exists today), where you can explicitly pick the relays you want to subscribe to.
  • As usual, you can enable multiple profiles or relays.

All users must select a mode and at least one profile or relay. Even if you were opted into MEV-Boost before, you must configure this new setup to your liking.

  • If you were previously opted in, your relay selections will be preserved if you switch to relay mode. You can opt to choose profile mode instead, in which case your previous selections will be ignored.
  • rocketpool service start will fail with errors until you select a mode and one or more profiles / relays, or explicitly disable MEV-Boost.

Compression Library

For Oracle DAO members only: the compression library used to compress the rewards tree before uploading to IPFS has been updated, and the packages it produces differ from those produced by the previous version. The CID produced by IPFS for these packages will differ accordingly, so all Oracle DAO members will need to update to at least v1.7.0 before rewards period 3 (on November 24th).

Client Updates

  • Updated Besu to v22.10.0.
    • NOTE: This is a major update to Besu that fundamentally changes the way Besu accesses the chain state which resolves most of the issues users were experiencing after the Merge.
  • Updated Nethermind to v1.14.5.
  • Updated Lighthouse to v3.2.1.
  • Updated Nimbus to v22.10.1.
  • Updated Prysm to v3.1.2.
  • Updated Teku to v22.10.2.
  • Updated Prometheus to v2.39.1.
  • Updated the Prometheus Node Exporter to v1.4.0.
  • Updated Grafana to v9.2.3.

Other Smartnode Changes

  • The Smartnode now checks your node's CPU features to tell if it can run "modern" containers, or must use the "portable" ones automatically.

    • Currently this is supported for MEV-Boost and Lighthouse.
  • Fixed an issue with rewards calculation that caused the Oracle DAO to report a lower rETH staker balance than was actually present during the daily balance updates.

    • rETH's APR will be more accurate (and slightly higher than it is now) once this fix has been in place for over a week.
    • Thanks to @jshufro and @Valdorff for finding and fixing this!
  • rocketpool node set-withdrawal-address, rocketpool node send, and rocketpool node set-voting-delegate now support using ENS names for addresses (if your node's Execution Client is online and synced).

    • rocketpool node status will now show the ENS names of your node, your withdrawal address, and your voting delegate if they've been registered with ENS.
    • Thanks to @0xfornax for helping build this!
  • Added a warning to rocketpool node deposit that creating a new minipool will automatically claim and distribute the funds in your node's Fee Distributor contract.

  • The TUI's wizard now has a page for selecting one or more MEV-Boost profiles.

  • rocketpool wallet recover and rocketpool wallet test-recovery can now recover validator keys that were generated in a nonstandard order.

  • The Daemon's node sign function now supports the signing of manually generated Type 2 (EIP 1559) transactions.

    • Thanks to @xrchz for improving this!
  • Increased the graceful shutdown period for the Execution Client to 15 minutes, up from 3 minutes. Some Geth users with extremely large caches were timing out due to this limit, which caused an improper shutdown and loss of data; this updated timer should resolve those issues.

New Commands

  • rocketpool wallet set-ens-name - use this to confirm an ENS domain or subdomain name that you assign to your node wallet. Once you do this, you can refer to your node's address by its ENS name on explorers like Etherscan.

  • rocketpool service check-cpu-features - this prints out information about whether or not your system can use the "modern" clients or must use the "portable" ones. If it can't use the modern ones, it prints out which CPU features you are missing.

Misc Changes

  • Fixed a bug that rarely caused the rewards tree generator to fail after calculating node performance due to a missing Execution Layer block.
  • Fixed a bug that prevented certain Snapshot governance votes from being displayed in rocketpool node status properly. Thanks to @0xfornax for helping with this!
  • Added new rewards tree interval event blocks for Prater and Mainnet.
  • Advanced users can now use the daemon to print a node deposit transaction's raw signed data instead of submitting it to the chain; this is useful for including it in a Flashbots bundle, for example. Thanks to @xrchz for helping with this!
  • Updated many internal dependencies.
  • Updated to Go v1.19.2.