github ObolNetwork/charon v1.1.0

latest release: v1.1.1-rc1
21 days ago

v1.1.0 - 2024-08-26

Obol Logo

This is a non-urgent, feature release. This release introduces improved monitoring capabilities of validator clients and process configuration, along with a test framework, developed to understand the health of your node, its consensus client, its peers, and its MEV relays, before the activation of a validator. More details can be found on our docs site, feedback is welcome and appreciated.

This release also introduces overridable timeouts for beacon nodes, if needed for extremely large clusters.

Feature

  • Charon test command
    • Test peers - add direct connection test, ping relays (#3073, #3177)
    • Test validator client (#3085)
    • Test MEV relay (#3176)
    • Test performance (#3197, #3203)
  • Detect validator services (#3169)
  • Add --publish-timeout flag for charon exit command (#3098, #3127)
  • Enforce JSON for Nimbus BN to properly handle SubmitProposal (#3110)
  • Add Prometheus gauges for requests made by VC (#3112)
  • Replace --beacon-node-url flag for exits with --beacon-node-endpoints to allow multiple beacon nodes (#3106)
  • Allow exiting with validator index (#3106, #3146)
  • Cache deeper on /validators endpoint to BN (#3114, #3123)
  • Add --timeout flag for charon dkg command (#3130)
  • Add custom beacon node timeout flags to charon run command --beacon-node-timeout and --beacon-node-submit-timeout (#3164)

Bugfix:

  • Add --fetched-exit-path to the existing flags for charon exit command (#3099)
  • Initialise fork version for lazy interface, fixing VC exits (#3131)
  • Blinded and unblinded blocks casting (#3144, #3149)

Test:

  • Charon test command unit tests (#3082, #3079)
  • Fix compose test lighthouse image (#3111)

Misc:

  • Bump version.go (#3078)
  • Bump go versions (#3092, #3118, #3163)
  • Update license (#3100, #3140, #3151)
  • Composite CI build step for setting up go (#3119)
  • Log warn about not using https only if protocol is http (#3124)
  • Add Capella Fork Hash to networks struct (#3138)
  • Recover on failed beacon node duty submission (#3150)
  • Deprecate VersionedSignedBlindedProposal (#3155)
  • Explicitly return 404 to v2 produce block endpoints (#3167)
  • Fix typos in docs (#3165)

Compatibility Matrix

This release of Charon is backwards compatible with Charon v1.0.0 and v1.0.1.

The below matrix details a combination of beacon node + validator clients and their corresponding versions the DV Labs team have tested with this Charon release. More validator and consensus client will be added to this list as they are supported in our automated testing framework.

Legend

  • ✅: All duties succeed in testing
  • 🟡: All duties succeed in testing, except non-penalised aggregation duties
  • 🟠: Duties may fail for this combination
  • 🔴: One or more duties fails consistently
Consensus 👇 Validator 👉 Teku v24.8.0 Lighthouse v5.3.01 Lodestar v1.20.2 Nimbus v24.7.0 Prysm PR Remarks
Teku v24.8.0 🟡 🟡 🟠 Teku bn needs the --validators-graffiti-client-append-format=DISABLED flag in order to produce blocks properly. Teku vc are only failing aggregation duties 50% of the time, which are not directly penalised but impact network density at high scale.
Lighthouse v5.3.0 🟡 🟡 🟠 Lighthouse vc are only failing aggregation duties, which are not directly penalised but impact network density at high scale.
Nimbus v24.7.0 🟡 🟡 Nimbus beacon nodes requires that you add the following flag to charon run: charon run --feature-set-enable=json_requests
Prysm v5.0.3 🟡 🟡 Prysm validator needs a particular pull request merged and released for aggregation duties to succeed.
Lodestar v1.20.2 🟡 🟡 🔴

Full Changelog: v1.0.1..v1.1.0

What's Changed

Footnotes

  1. sync committee and aggregator duties are not yet supported in a DV setup by Lighthouse, all other duties work as expected. ↩

Don't miss a new charon release

NewReleases is sending notifications on new releases.