Skip to content

Releases: ObolNetwork/charon

v1.1.1

26 Sep 11:58
dc848df
Compare
Choose a tag to compare

v1.1.1 - 2024-09-26

Obol Logo

This is a non-urgent, patch release, which introduces a fix for Gnosis/Chiado chains, as well as a few minor fixes for the CI pipeline.

Full Changelog: v1.1.0...v1.1.1

Features

Bugfixes

Compatibility Matrix

This release of Charon is backwards compatible with Charon v1.0.0 - v1.1.0. DKGs need to be completed with clients on the same minor release.

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 5.1.0 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.1.0 🟡 🟡
Lodestar v1.20.2 🟡 🟡 🔴
  1. sync committee and aggregator duties are not yet supported in a DV setup by Lighthouse, all other duties work as expected.

v1.1.1-rc1

19 Sep 14:51
dc848df
Compare
Choose a tag to compare
v1.1.1-rc1 Pre-release
Pre-release

v1.1.1-rc1 - 2024-09-17

Obol Logo

This is a non-urgent, patch release, which introduces a fix for Gnosis/Chiado chains, as well as a few minor fixes for the CI pipeline.

Full Changelog: v1.1.0...v1.1.1-rc1

Features

Bugfixes

Compatibility Matrix

This release of Charon is backwards compatible with Charon v1.0.0 - v1.1.0. DKGs need to be completed with clients on the same minor release.

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 5.1.0 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.1.0 🟡 🟡
Lodestar v1.20.2 🟡 🟡 🔴
  1. sync committee and aggregator duties are not yet supported in a DV setup by Lighthouse, all other duties work as expected.

v1.1.0

29 Aug 14:58
a193f84
Compare
Choose a tag to compare

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

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

v1.0.1

15 Jul 16:01
v1.0.1
d215eb1
Compare
Choose a tag to compare

v1.0.1 - 2024-07-15

Obol Logo

This release updates go-eth2-client in order to support Lodestar Beacon Node v1.20, which now defaults to SSZ encoding.

Compatibility Matrix

This matrix details the combination of beacon node + validator clients and their corresponding versions the Obol 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.6.1 Lighthouse v5.2.11 Lodestar v1.20.0 Nimbus v24.5.1 Prysm PR Remarks
Teku v24.6.1 🟡 Teku bn needs the --validators-graffiti-client-append-format=DISABLED flag in order to produce blocks properly.
Lighthouse v5.2.1 🟡 🟠 Lighthouse vc are only failing aggregation duties, which are not directly penalised but impact network density at high scale.
Nimbus v24.5.1 🔴 🟡 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.0 🟡

Full Changelog: v1.0.0..v1.0.1

What's Changed

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

v1.0.0

01 Jul 18:11
45f830b
Compare
Choose a tag to compare

v1.0.0 - 2024-07-1

Obol Logo

This is Charon's first major release!

As detailed by our version compatibility, Charon v1.0.0 is not fully-backwards compatible with v0.x.x releases. Block proposals are not compatible between the versions, so once your cluster begins the upgrade, please upgrade all nodes promptly to ensure readiness for a proposal opportunity should one occur.

Breaking changes

  • Full support for beacon spec produceBlockV3 endpoint has been implemented: DutyProposer supports now both blinded and unblinded blocks, while DutyBuilderProposer has been deprecated.
    • This means you should remove the extra validator configuration added during previous versions of charon, consult the prior release to see what flags to remove to default to the lastest version of block proposals.

Migration notes

  • Make sure that your validator client of choice supports produceBlockV3, and that you re-enable it by either removing or toggling all the flags we detailed in v0.19.2 release notes:

    • Lodestar: --useProduceBlockV3=true as CLI parameter at startup
    • Lighthouse: --produce-block-v3 as CLI parameter at startup
    • Teku: --Xblock-v3-enabled=true as CLI parameter at startup
  • If you run Nimbus as a validator client, make sure to pass --feature-set-enable=json_requests as CLI parameter to charon run at startup

  • If you run Teku as a beacon node, add the flag --validators-graffiti-client-append-format=DISABLED to it.

Compatibility Matrix

This matrix details the combination of beacon node + validator clients and their corresponding versions the Obol 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.6.1 Lighthouse v5.2.11 Lodestar v1.19.0 Nimbus v24.5.1 Prysm PR Remarks
Teku v24.6.1 🟡 Teku bn needs the --validators-graffiti-client-append-format=DISABLED flag in order to produce blocks properly.
Lighthouse v5.2.1 🟡 🟠 Lighthouse vc are only failing aggregation duties, which are not directly penalised but impact network density at high scale.
Nimbus v24.5.1 🔴 🟡 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.19.0 🟡

Feature

  • integrate new go-eth2-client api #2936 (#2986)
  • A deposit file for a single deposit should be backward compatible #2948 (#2940)
  • signed/unsigned data marshaling #2917 (#2929)
  • Implement Beacon Node Tests #2998 (#3059)
  • Implement Peer-to-Peer Connection Tests #2997 (#3039)
  • Spike on generic exits #2848 (#2934,#2926)
  • Health check for too many metrics #2446 (#2967)
  • Implement Network Health Check Skeleton for Charon Cluster #2995 (#3008)
  • Add partial deposits support to charon dkg command #2889 (#2894)
  • [CLI] DKG ceremony crash upon existing validator_keys folder #2881 (#2958)
  • add new libp2p metrics to relay #2544 (#3040)
  • consensus pipeline #2918 (#2928)
  • Add support for produce block v3 endpoint #2749 (#2913,#2885,#2868)
  • Add failing registrations as a health check #2760 (#2876)
  • Implement POST get validators endpoint #2840 (#2849)
  • Add charon alpha test peers tests towards self node #3076 (#3052)
  • Compose fails due to an invalid Lighthouse image #2886 (#2901)
  • Expose mev-enabled metric #2879 (#2890)
  • cmd: create dkg cli to support partial deposits #2887 (#2887)
  • create new cluster lock version v1.8 #2728 (#2839)

Bug

  • Ping peer continuously closed channel #3053 (#3054)
  • Investigate unknown/unknown arch in the Docker builds #2654 (#2971)
  • Handle gracefully DKG requests from banned IP ranges #2897 (#2898)
  • data race in p2p package #2784 (#2875)
  • Investigate Intermittent Failure in TestSigsExchange Test #3041 (#3042)
  • Ensure Exit Message are compliant with EIP-7044 #2981 (#3035)
  • Confusing error when running combine multiple times #2538 (#2963)
  • MEV rewards sent to addresses configured on the CL + VC, not as specified in Charon's lock file #2770 (#2810)
  • create cluster doesn't error when run in same directory #2851 (#2852)
  • p2p: fix test-related data race #2763 (#2869)
  • Add testnet flags to combine command #2838 (#2856)

Refactor

  • Log the ENR pubkey and full lock hash in app-start #2778 (#2972)
  • eth2wrap: fix small tech debt #2704 (#2946)
  • Improve track failure reason names #2488 (#3033)
  • Promote eager_dlinear and consensus_participate flags to stable. #3001 (#3022)
  • Update tests using rand.Seed as it is deprecated in go 1.20+ #2831 (#2850)
  • Use url.ParseRequestURI instead of url.Parse where appropriate #2796 (#2832)
  • Complete SignedEpoch JSON migration in v0.19.0 #2593 (#2819)
  • core/aggsigdb: refactor to remove channel synchronization #1951 (#2950)
  • Only use promrated for network averages #2843 (#2844)

Test

  • Investigate and fix TestSmoke/dkg failure #2964 (#2965)

Misc

  • Enable v1.8.0 definition format with charon v1 release #3003 (#3028)
  • Use 'latest' docker tag for stable releases only #2359 (#2855)
  • Track builder registrations with tracker #2669 (#2877)
  • Tag Charon v1.0.0-rc2 #3103 (#3117)

What's Changed

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

Read more

v1.0.0-rc7

25 Jun 19:51
45f830b
Compare
Choose a tag to compare
v1.0.0-rc7 Pre-release
Pre-release

v1.0.0-rc7 - 2024-06-25

Obol Logo

Warning

This is the seventh release candidate for our first major Charon release! Unless you want to test this rc, you should wait until a full v1.0.0 is published and announced.

As detailed by our version compatibility, being a major release, Charon v1.0.0-rc7 is not fully-backwards compatible with v0.x.x releases. Block proposals are not compatible between the versions, so once your cluster begins the upgrade, please upgrade all nodes promptly to ensure readiness for a proposal opportunity should one occur.

Breaking changes

  • Full support for beacon spec produceBlockV3 endpoint has been implemented: DutyProposer supports now both blinded and unblinded blocks, while DutyBuilderProposer has been deprecated.
    • This means you should remove the extra validator configuration added during previous versions of charon, consult the prior release to see what flags to remove to default to the lastest version of block proposals.

Compatibility Matrix

This matrix details the combination of beacon node + validator clients and their corresponding versions the Obol 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.4.0 Lighthouse v5.2.01 Lodestar v1.19.0 Nimbus v24.3.0 Prysm PR Remarks
Teku v24.4.0 🟡 Teku bn needs the --validators-graffiti-client-append-format=DISABLED flag in order to produce blocks properly.
Lighthouse v5.1.3 🟡 🟠 Lighthouse vc are only failing aggregation duties, which are not directly penalised but impact network density at high scale.
Nimbus v24.3.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.18.1 🟡

Full Changelog: v0.19.2..v1.0.0-rc7

Feature

  • Compose fails due to an invalid Lighthouse image #2886 (#2901)
  • Expose mev-enabled metric #2879 (#2890)
  • integrate new go-eth2-client api #2936 (#2986)
  • add new libp2p metrics to relay #2544 (#3040)
  • A deposit file for a single deposit should be backward compatible #2948 (#2940)
  • Implement POST get validators endpoint #2840 (#2849)
  • Implement Beacon Node Tests #2998 (#3059)
  • Implement Peer-to-Peer Connection Tests #2997 (#3039)
  • Spike on generic exits #2848 (#2934,#2926)
  • signed/unsigned data marshaling #2917 (#2929)
  • Add support for produce block v3 endpoint #2749 (#2913,#2885,#2868)
  • Add partial deposits support to charon dkg command #2889 (#2894)
  • Add charon alpha test peers tests towards self node #3076 (#3052)
  • Implement Network Health Check Skeleton for Charon Cluster #2995 (#3008)
  • [CLI] DKG ceremony crash upon existing validator_keys folder #2881 (#2958)
  • create new cluster lock version v1.8 #2728 (#2839)
  • Add failing registrations as a health check #2760 (#2876)
  • Health check for too many metrics #2446 (#2967)
  • consensus pipeline #2918 (#2928)
  • cmd: create dkg cli to support partial deposits #2887 (#2887)

Bug

  • data race in p2p package #2784 (#2875)
  • p2p: fix test-related data race #2763 (#2869)
  • MEV rewards sent to addresses configured on the CL + VC, not as specified in Charon's lock file #2770 (#2810)
  • Ensure Exit Message are compliant with EIP-7044 #2981 (#3035)
  • create cluster doesn't error when run in same directory #2851 (#2852)
  • Ping peer continuously closed channel #3053 (#3054)
  • Add testnet flags to combine command #2838 (#2856)
  • Investigate Intermittent Failure in TestSigsExchange Test #3041 (#3042)
  • Investigate unknown/unknown arch in the Docker builds #2654 (#2971)
  • Handle gracefully DKG requests from banned IP ranges #2897 (#2898)
  • Confusing error when running combine multiple times #2538 (#2963)

Refactor

  • Only use promrated for network averages #2843 (#2844)
  • Use url.ParseRequestURI instead of url.Parse where appropriate #2796 (#2832)
  • Improve track failure reason names #2488 (#3033)
  • Update tests using rand.Seed as it is deprecated in go 1.20+ #2831 (#2850)
  • Complete SignedEpoch JSON migration in v0.19.0 #2593 (#2819)
  • Log the ENR pubkey and full lock hash in app-start #2778 (#2972)
  • eth2wrap: fix small tech debt #2704 (#2946)
  • Promote eager_dlinear and consensus_participate flags to stable. #3001 (#3022)
  • core/aggsigdb: refactor to remove channel synchronization #1951 (#2950)

Test

  • Investigate and fix TestSmoke/dkg failure #2964 (#2965)

Misc

  • Enable v1.8.0 definition format with charon v1 release #3003 (#3028)
  • Track builder registrations with tracker #2669 (#2877)
  • Use 'latest' docker tag for stable releases only #2359 (#2855)
  • Tag Charon v1.0.0-rc2 #3103 (#3117)

What's Changed

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

Read more

v1.0.0-rc5

12 Jun 16:45
a862a0b
Compare
Choose a tag to compare
v1.0.0-rc5 Pre-release
Pre-release

v1.0.0-rc5 - 2024-06-12

Obol Logo

Warning

This is the fifth release candidate for our first major Charon release! Unless you want to test this rc, you should wait until a full v1.0.0 is published and announced.

As detailed by our version compatibility, being a major release, Charon v1.0.0-rc5 is not fully-backwards compatible with v0.x.x releases. Block proposals are not compatible between the versions, so once your cluster begins the upgrade, please upgrade all nodes promptly to ensure readiness for a proposal opportunity should one occur.

Breaking changes

  • Full support for beacon spec produceBlockV3 endpoint has been implemented: DutyProposer supports now both blinded and unblinded blocks, while DutyBuilderProposer has been deprecated.
    • This means you should remove the extra validator configuration added during previous versions of charon, consult the prior release to see what flags to remove to default to the lastest version of block proposals.

Compatibility Matrix

This matrix details the combination of beacon node + validator clients and their corresponding versions the Obol 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.4.0 Lighthouse v5.2.01 Lodestar v1.19.0 Nimbus v24.3.0 Prysm PR Remarks
Teku v24.4.0 🟡 Teku bn needs the --validators-graffiti-client-append-format=DISABLED flag in order to produce blocks properly.
Lighthouse v5.1.3 🟡 🟠 Lighthouse vc are only failing aggregation duties, which are not directly penalised but impact network density at high scale.
Nimbus v24.3.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.18.1 🟡

What's Changed

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

Read more

v1.0.0-rc4

10 Jun 16:25
af2bbf7
Compare
Choose a tag to compare
v1.0.0-rc4 Pre-release
Pre-release

v1.0.0-rc4 - 2024-06-07

Obol Logo

Warning

This is the fourth release candidate for our first major Charon release! Unless you want to test this rc, you should wait until a full v1.0.0 is published and announced.

As detailed by our version compatibility, being a major release, Charon v1.0.0-rc4 is not fully-backwards compatible with v0.x.x releases. Block proposals are not compatible between the versions, so once your cluster begins the upgrade, please upgrade all nodes promptly to ensure readiness for a proposal opportunity should one occur.

Breaking changes

  • Full support for beacon spec produceBlockV3 endpoint has been implemented: DutyProposer supports now both blinded and unblinded blocks, while DutyBuilderProposer has been deprecated.
    • This means you should remove the extra validator configuration added during previous versions of charon, consult the prior release to see what flags to remove to default to the lastest version of block proposals.

Compatibility Matrix

This matrix details the combination of beacon node + validator clients and their corresponding versions the Obol 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.4.0 Lighthouse v5.1.31 Lodestar v1.18.1 Nimbus v24.3.0 Prysm PR Remarks
Teku v24.4.0 🟡 Teku bn needs the --validators-graffiti-client-append-format=DISABLED flag in order to produce blocks properly.
Lighthouse v5.1.3 🟡 🟠 Lighthouse vc are only failing aggregation duties, which are not directly penalised but impact network density at high scale.
Nimbus v24.3.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.18.1 🟡

What's Changed

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

Read more

v1.0.0-rc3

07 Jun 12:48
97c11ba
Compare
Choose a tag to compare
v1.0.0-rc3 Pre-release
Pre-release

v1.0.0-rc3 - 2024-06-08

Obol Logo

Warning

This is the third release candidate for our first major Charon release! Unless you want to test this rc, you should wait until a full v1.0.0 is published and announced.

As detailed by our version compatibility, being a major release, Charon v1.0.0-rc1 is not fully-backwards compatible with v0.x.x releases. Block proposals are not compatible between the versions, so once your cluster begins the upgrade, please upgrade all nodes promptly to ensure readiness for a proposal opportunity should one occur.

Breaking changes

  • Full support for beacon spec produceBlockV3 endpoint has been implemented: DutyProposer supports now both blinded and unblinded blocks, while DutyBuilderProposer has been deprecated.
    • This means you should remove the extra validator configuration added during previous versions of charon, consult the prior release to see what flags to remove to default to the lastest version of block proposals.

Compatibility Matrix

This matrix details the combination of beacon node + validator clients and their corresponding versions the Obol 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.4.0 Lighthouse v5.1.31 Lodestar v1.18.1 Nimbus v24.3.0 Prysm PR Remarks
Teku v24.4.0 🟡 Teku bn needs the --validators-graffiti-client-append-format=DISABLED flag in order to produce blocks properly.
Lighthouse v5.1.3 🟡 🟠 Lighthouse vc are only failing aggregation duties, which are not directly penalised but impact network density at high scale.
Nimbus v24.3.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.18.1 🟡

What's Changed

  • build(deps): Bump github.com/quic-go/quic-go from 0.37.6 to 0.37.7 by @dependabot in #2779
  • app/version: bump version to v0.20-dev by @gsora in #2774
  • build(deps): Bump github.com/multiformats/go-multiaddr from 0.12.0 to 0.12.1 by @dependabot in #2780
  • build(deps): Bump golang.org/x/crypto from 0.17.0 to 0.18.0 by @dependabot in #2777
  • docs: fix docs from small prs by @xenowits in #2785
  • core: removed leadercast leftovers by @pinebit in #2782
  • core: addressed some panic instances by @pinebit in #2783
  • build(deps): Bump golang.org/x/tools from 0.16.1 to 0.17.0 by @dependabot in #2786
  • build(deps): Bump github.com/herumi/bls-eth-go-binary from 1.32.1 to 1.33.0 by @dependabot in #2773
  • core/validatorapi: correct error return by @dB2510 in #2788
  • *: revert Herumi to v1.32.1 by @gsora in #2790
  • core: checking keymanager address by @pinebit in #2795
  • build(deps): Bump github.com/attestantio/go-eth2-client from 0.19.8 to 0.19.9 by @dependabot in #2799
  • build(deps): Bump go.opentelemetry.io/otel/sdk from 1.21.0 to 1.22.0 by @dependabot in #2805
  • build(deps): Bump go.opentelemetry.io/otel/exporters/stdout/stdouttrace from 1.21.0 to 1.22.0 by @dependabot in #2802
  • core: fixing DutyDB Store function by @pinebit in #2800
  • core: removed unused allowlist and denylist flags by @pinebit in #2801
  • dkg: strengthen logic for steps update by @pinebit in #2797
  • build(deps): Bump go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp from 0.46.1 to 0.47.0 by @dependabot in #2807
  • dkg/bcast: exchange full messages by @gsora in #2798
  • cmd: don't bind debug endpoints by default by @gsora in #2808
  • app: eth2wrap best selector refactoring by @pinebit in #2806
  • core: remove unimportant todos by @xenowits in #2809
  • cmd: fixing builder registration timestamp by @pinebit in #2810
  • build(deps): Bump github.com/attestantio/go-eth2-client from 0.19.9 to 0.19.10 by @dependabot in #2811
  • *: more warnings on HTTP URLs by @gsora in #2813
  • gomod: update Herumi BLS to v1.33.0 by @gsora in #2814
  • testutil: fixed promrated.go by @pinebit in #2815
  • cmd: add secondary charon relay by @xenowits in #2816
  • github/workflows: fuzz tests on nightly by @gsora in #2818
  • eth2util: remove legacy signed epoch by @dB2510 in #2819
  • cmd/relay: bind debug and monitoring address separately by @gsora in #2817
  • build(deps): Bump github.com/bufbuild/buf from 1.28.1 to 1.29.0 by @dependabot in #2829
  • p2p: fixed flakey TestWithSendTimeout by @pinebit in #2830
  • build(deps): Bump github.com/multiformats/go-multiaddr from 0.12.1 to 0.12.2 by @dependabot in #2833
  • eth2util: new deposit message with amount by @pinebit in #2822
  • core: using url.ParseRequestURI by @pinebit in #2832
  • cmd: --deposit-amounts flag by @pinebit in #2820
  • cluster: definition v1.8 by @pinebit in #2823
  • core: updated the current year to 2024 by @pinebit in #2836
  • cluster: partial deposits output by @pinebit in #2839
  • testutil/promrated: update promrated querying by @LukeHackett12 in #2844
  • cmd: fix create cluster bug by @xenowits in #2852
  • validatorapi: supporting getValidators with post by @pinebit in #2849
  • validatorapi: fixing failing tests by @pinebit in #2857
  • testutil: replace math/rand deprecation by @KaloyanTanev in #2850
  • workflows: tag latest on git tags by @gsora in #2855
  • cmd/combine: support testnet config by @gsora in #2856
  • build(deps): Bump go.opentelemetry.io/otel from 1.22.0 to 1.23.0 by @dependabot in #2861
  • build(deps): Bump go.opentelemetry.io/otel/sdk from 1.22.0 to 1.23.0 by @dependabot in #2860
  • build(deps): Bump go.opentelemetry.io/contrib/i...
  1. sync committee and aggregator duties are not yet supported in a DV setup by Lighthouse, all other duties work as expected.
    Full Changelog: v0.19.2..v1.0.0-rc1

Read more

v1.0.0-rc1

27 May 12:33
fa71cd7
Compare
Choose a tag to compare
v1.0.0-rc1 Pre-release
Pre-release

v1.0.0-rc1 - 2024-05-08

Obol Logo

Warning

This is the first release candidate for our first major Charon release! Unless you want to test this rc, you should wait until a full v1.0.0 is published and announced.

As detailed by our version compatibility, being a major release, Charon v1.0.0-rc1 is not fully-backwards compatible with v0.x.x releases. Block proposals are not compatible between the versions, so once your cluster begins the upgrade, please upgrade all nodes promptly to ensure readiness for a proposal opportunity should one occur.

Breaking changes

  • Full support for beacon spec produceBlockV3 endpoint has been implemented: DutyProposer supports now both blinded and unblinded blocks, while DutyBuilderProposer has been deprecated.
    • This means you should remove the extra validator configuration added during previous versions of charon, consult the prior release to see what flags to remove to default to the lastest version of block proposals.

Compatibility Matrix

This matrix details the combination of beacon node + validator clients and their corresponding versions the Obol 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.4.0 Lighthouse v5.1.31 Lodestar v1.18.1 Nimbus v24.3.0 Prysm PR Remarks
Teku v24.4.0 🟡 Teku bn needs the --validators-graffiti-client-append-format=DISABLED flag in order to produce blocks properly.
Lighthouse v5.1.3 🟡 🟠 Lighthouse vc are only failing aggregation duties, which are not directly penalised but impact network density at high scale.
Nimbus v24.3.0 🔴 🟡
Prysm v5.0.3 🟡 Prysm validator needs a particular pull request merged and released for aggregation duties to succeed.
Lodestar v1.18.1 🟡

Feature

  • consensus pipeline #2918 (#2928)
  • signed/unsigned data marshaling #2917 (#2929)
  • Implement Network Health Check Skeleton for Charon Cluster #2995 (#3008)
  • Expose mev-enabled metric #2879 (#2890)
  • integrate new go-eth2-client api #2936 (#2986)
  • add new libp2p metrics to relay #2544 (#3040)
  • Compose fails due to an invalid Lighthouse image #2886 (#2901)
  • Health check for too many metrics #2446 (#2967)
  • Add failing registrations as a health check #2760 (#2876)
  • Add support for produce block v3 endpoint #2749 (#2913,#2885,#2868)
  • Implement POST get validators endpoint #2840 (#2849)
  • Add charon alpha test peers tests towards self node #3076 (#3052)
  • Implement Peer-to-Peer Connection Tests #2997 (#3039)
  • [CLI] DKG ceremony crash upon existing validator_keys folder #2881 (#2958)
  • A deposit file for a single deposit should be backward compatible #2948 (#2940)
  • create new cluster lock version v1.8 #2728 (#2839)
  • cmd: create dkg cli to support partial deposits #2887 (#2887)
  • Implement Beacon Node Tests #2998 (#3059)
  • Spike on generic exits #2848 (#2934,#2926)
  • Add partial deposits support to charon dkg command #2889 (#2894)

Bug

  • Investigate Intermittent Failure in TestSigsExchange Test #3041 (#3042)
  • Handle gracefully DKG requests from banned IP ranges #2897 (#2898)
  • Confusing error when running combine multiple times #2538 (#2963)
  • data race in p2p package #2784 (#2875)
  • p2p: fix test-related data race #2763 (#2869)
  • Add testnet flags to combine command #2838 (#2856)
  • Ping peer continuously closed channel #3053 (#3054)
  • create cluster doesn't error when run in same directory #2851 (#2852)
  • MEV rewards sent to addresses configured on the CL + VC, not as specified in Charon's lock file #2770 (#2810)
  • Ensure Exit Message are compliant with EIP-7044 #2981 (#3035)
  • Investigate unknown/unknown arch in the Docker builds #2654 (#2971)

Refactor

  • Complete SignedEpoch JSON migration in v0.19.0 #2593 (#2819)
  • Use url.ParseRequestURI instead of url.Parse where appropriate #2796 (#2832)
  • core/aggsigdb: refactor to remove channel synchronization #1951 (#2950)
  • eth2wrap: fix small tech debt #2704 (#2946)
  • Update tests using rand.Seed as it is deprecated in go 1.20+ #2831 (#2850)
  • Only use promrated for network averages #2843 (#2844)
  • Improve track failure reason names #2488 (#3033)
  • Promote eager_dlinear and consensus_participate flags to stable. #3001 (#3022)
  • Log the ENR pubkey and full lock hash in app-start #2778 (#2972)

Test

  • Investigate and fix TestSmoke/dkg failure #2964 (#2965)

Misc

  • Enable v1.8.0 definition format with charon v1 release #3003 (#3028)
  • Track builder registrations with tracker #2669 (#2877)
  • Use 'latest' docker tag for stable releases only #2359 (#2855)

What's Changed

  1. sync committee and aggregator duties are not yet supported in a DV setup by Lighthouse, all other duties work as expected.
    Full Changelog: v0.19.2..v1.0.0-rc1

Read more