Skip to content

v0.10.0 - 2022-08-25

Compare
Choose a tag to compare
@OisinKyne OisinKyne released this 25 Aug 12:37
· 1458 commits to main since this release
dec7d3e

Obol Logo

We are excited to release v0.10.0 of Charon, it is jam-packed with lots of features and improvements! This release is our largest to date, and it couldn't have been completed without the help of our dedicated community and the Athena testnet participants. Over the last month over 100 distributed validator clusters have been created between community members around the world. This release incorporates all of the bug fixes and resilience improvements highlighted by our dedicated testers, and it should be much more fault-tolerant and self healing than our v0.9 release.

⚠️⚠️⚠️
Note this release introduces breaking changes to block proposal and the default bootnode flag. All nodes in an existing cluster should therefore upgrade at roughly the same time.

Partially upgraded clusters without a quorum of nodes on either v0.9.0 or v0.10.0 will fail to attest. E.g., if half the cluster is on v.0.9.0 and the other half is on v0.10.0 then there isn't a quorum on either version and they will not be able to connect via the same default bootnode or propose blocks. Once a threshold of operators have upgraded your validator should come back online. In future, upgrades aim to be completely asynchronous between cluster operators.

Some notable features:

  • #809 and #849 adds support for the builder API's blinded beacon blocks. This makes charon MEV-boost compatible, though work is still ongoing to support blinded beacon blocks with every validator client.
  • #891 and #848 introduces a new version v1.2.0 of the cluster definition and lock files refactoring all base64 fields to hex and removing the operator nonce field. All previous definition and lock versions are however still compatible.
  • #768 and #821 adds tracking of duties adding metrics and improved logging of failed duties and peer participation.
  • #952 removes the need to restart charon nodes if a bootnode ENR changes when resolved via HTTP. Adding support for stateless bootnodes.
  • #960 improves support for multiple beacon nodes by calling them parallel instead of sequentially.
  • #1029 updates the default bootnode flag to http://bootnode.lb.gcp.obol.tech:3640/enr which is Obol's new horizontally scaleable bootnode solution.

Full Changelog: v0.9.0..v0.10.0

Feature

Bug

Refactor

  • p2p: invert peer discovery integration #989 (#991)
  • Refactor randao core signed data implementation #919 (#1019)
  • Improve failed duty message #866 (#972)
  • Add --num-validators, --name and --fee-recipient flags to create cluster #879 (#878)
  • Update prater to goerli in deposit data and CLI #935 (#943)
  • Set threshold automatically in charon create dkg #894 (#917)
  • Improve libp2p connection logs #986 (#1001)
  • charon create enr overwrites an existing one on disk #893 (#913)
  • Invert libp2p peer discovery #985 (#989)

Test

  • Flapy integration test #910 (#932)
  • Flapy test in monitoringapi_internal_test #886 (#934)
  • Add timestamp to cluster definition file #710 (#833)

Misc

  • Update default bootnode to HA one #895 (#1029)