Releases: ObolNetwork/charon
v1.2.0-rc2
v1.2.0-rc2 - 2024-11-26
This is a non-urgent, feature pre-release. This release introduces improved charon exit
command - now it is possible to sign exits for all validators in a cluster with a single command. It also greatly improves the UX, number of tests and overall stability of the charon alpha test
commands. Feedback is welcome and appreciated.
Feature
Charon test command
- Add cluster lock and definition files to test peers #3368
- Beacon node simulation #3361
- General UX #3370, #3390
- Create real blocks with MEV test #3378
- Version check on beacon tests #3379
- Rename test performance to test infra #3380
- Output file improvements #3384
- Custom number of validators for beacon node simulation #3385
Charon exits
- Initial refactor #3248
- Add --all flag #3272
- Broadcast all exits #3288
- Fetch all exits #3291
- Enable exit all #3296
- Add custom testnet flags (to enable kurtosis testing) #3317
- Improve logging and error handling #3347
- Increase default Obol API timeout #3353
Test
Misc
- Log leader index #3334
- Add third Charon relay #3227
- Fix promrated network overview stats #3234
- Harden threshold parameter checks #3242, #3297
- Dependabot to bump only patch versions for our BLS library #3352
- Optimize Dockerfile #3281, #3389
- Create automate PR for release #3310
- Use minor versions in pipelines #3321
- Fix trigger-dispatch for release #3351, #3381
- Launchpad link broken #3231
- Docs typos #3236, #3367, #3369
Compatibility Matrix
This release of Charon is backwards compatible with Charon v1.0, v1.1.
The below matrix details a combination of beacon node (consensus layer) + 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
Validator 👉 Consensus 👇 | Teku v24.10.3 | Lighthouse v5.3.0 | Lodestar v1.23.0 | Nimbus v24.10.0 | Prysm v5.1.2 | Remarks |
---|---|---|---|---|---|---|
Teku v24.10.3 | ✅ | 🟡 | ✅ | ✅ | 🟠 | Teku beacon node needs the --validators-graffiti-client-append-format=DISABLED flag in order to produce blocks properly. Teku validator client is 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 validator client is only failing aggregation duties, which are not directly penalised but impact network density at high scale. |
Lodestar v1.23.0 | ✅ | 🟡 | ✅ | ✅ | 🟠 | |
Nimbus v24.10.0 | ✅ | 🟡 | ✅ | ✅ | 🟠 | |
Prysm v5.1.2 | ✅ | 🟡 | ✅ | ✅ | ✅ | Prysm validator client is failing aggregation duties 50% of the time, which are not directly penalised but impact network density at high scale. In some combinations rare failures of attestation and proposal duties were observed (0-2% per epoch). |
Full Changelog: v1.1.2..v1.2.0-rc2
What's Changed
- add third relay in p2p-relays (#3227)
- build(deps): Bump github.com/attestantio/go-eth2-client from 0.21.9 to 0.21.10 (#3214)
- testutil/promrated: fixing promrated network overview stats (#3234)
- docs: launchpad link is broken (#3231)
- build(deps): Bump golang.org/x/sync from 0.7.0 to 0.8.0 (#3217)
- build(deps): Bump github.com/docker/docker from 27.1.0+incompatible to 27.1.1+incompatible (#3232)
- build(deps): Bump golang.org/x/time from 0.5.0 to 0.6.0 (#3216)
- build(deps): Bump golang.org/x/crypto from 0.25.0 to 0.26.0 (#3219)
- *: bump linter to v1.60.3 (#3247)
- build(deps): Bump sigp/lighthouse from v5.2.1 to v5.3.0 in /testutil/compose/static/lighthouse (#3223)
- build(deps): Bump chainsafe/lodestar from v1.20.2 to v1.21.0 in /testutil/compose/static/lodestar (#3225)
- cmd: refactor exits (#3248)
- build(deps): Bump github.com/pelletier/go-toml/v2 from 2.2.2 to 2.2.3 (#3254)
- build(deps): Bump github.com/showwin/speedtest-go from 1.7.8 to 1.7.9 (#3255)
- *: bump golang to 1.23.1 (#3261)
- build(deps): Bump github.com/herumi/bls-eth-go-binary from 1.35.0 to 1.36.1 (#3256)
- cmd: hardening threshold parameter checks (#3242)
- build(deps): Bump github.com/prometheus/client_golang from 1.19.1 to 1.20.3 (#3258)
- workflows: bump govulncheck to v1.1.3 (#3262)
- build(deps): Bump golang.org/x/crypto from 0.26.0 to 0.27.0 (#3265)
- build(deps): Bump go.opentelemetry.io/otel/trace from 1.28.0 to 1.29.0 (#3252)
- build(deps): Bump go.opentelemetry.io/otel/exporters/stdout/stdouttrace from 1.28.0 to 1.29.0 (#3263)
- build(deps): Bump github.com/ferranbt/fastssz from 0.1.3 to 0.1.4 (#3264)
- build(deps): Bump golang.org/x/tools from 0.23.0 to 0.25.0 (#3270)
- build(deps): Bump go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp from 0.53.0 to 0.54.0 (#3271)
- build(deps): Bump go.opentelemetry.io/otel from 1.29.0 to 1.30.0 (#3274)
- build(deps): Bump go.opentelemetry.io/otel/exporters/stdout/stdouttrace from 1.29.0 to 1.30.0 (#3275)
- *: add --all for exit sign command (#3272)
- docs: fix typos (#3236)
- build(deps): Bump go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp from 0.54.0 to 0.55.0 (#3284)
- [build(deps): Bump github.com/prometheus/client_golang from 1.20.3 to 1.20.4 (#3289)...
v1.2.0-rc1
v1.2.0-rc1 - 2024-11-20
This is a non-urgent, feature release. This release introduces improved charon exit
command - now it is possible to easily exit all validators from a cluster with a single command. It also greatly improves the UX, number of tests and overall stability of the charon test
command, moving it out of alpha state. Feedback is welcome and appreciated.
Feature
Charon test command
- Add cluster lock and definition files to test peers #3368
- Beacon node simulation #3361
- General UX #3370
- Create real blocks with MEV test #3378
- Version check on beacon tests #3379
- Rename test performance to test infra #3380
- Output file improvements #3384
- Custom number of validators for beacon node simulation #3385
Charon exits
- Initial refactor #3248
- Add --all flag #3272
- Broadcast all exits #3288
- Fetch all exits #3291
- Enable exit all #3296
- Add custom testnet flags (to enable kurtosis testing) #3317
- Improve logging and error handling #3347
- Increase default Obol API timeout #3353
Test
Misc
- Log leader index #3334
- Add third Charon relay #3227
- Fix promrated network overview stats #3234
- Harden threshold parameter checks #3242, #3297
- Dependabot to bump only patch versions for our BLS library #3352
- Optimize Dockerfile #3281
- Create automate PR for release #3310
- Use minor versions in pipelines #3321
- Fix trigger-dispatch for release #3351 #3381
- Launchpad link broken #3231
- Docs typos #3236 #3367 #3369
Compatibility Matrix
This release of Charon is backwards compatible with Charon v1.0, v1.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
Validator 👉 Consensus 👇 | Teku v24.10.3 | Lighthouse v5.3.0 | Lodestar v1.23.0 | Nimbus v24.10.0 | Prysm v5.1.2 | Remarks |
---|---|---|---|---|---|---|
Teku v24.10.3 | ||||||
Lighthouse v5.3.0 | ||||||
Lodestar v1.23.0 | ||||||
Nimbus v24.10.0 | ||||||
Prysm v5.1.2 |
Full Changelog: v1.1.2..v1.2.0-rc1
What's Changed
- add third relay in p2p-relays (#3227)
- build(deps): Bump github.com/attestantio/go-eth2-client from 0.21.9 to 0.21.10 (#3214)
- testutil/promrated: fixing promrated network overview stats (#3234)
- docs: launchpad link is broken (#3231)
- build(deps): Bump golang.org/x/sync from 0.7.0 to 0.8.0 (#3217)
- build(deps): Bump github.com/docker/docker from 27.1.0+incompatible to 27.1.1+incompatible (#3232)
- build(deps): Bump golang.org/x/time from 0.5.0 to 0.6.0 (#3216)
- build(deps): Bump golang.org/x/crypto from 0.25.0 to 0.26.0 (#3219)
- *: bump linter to v1.60.3 (#3247)
- build(deps): Bump sigp/lighthouse from v5.2.1 to v5.3.0 in /testutil/compose/static/lighthouse (#3223)
- build(deps): Bump chainsafe/lodestar from v1.20.2 to v1.21.0 in /testutil/compose/static/lodestar (#3225)
- cmd: refactor exits (#3248)
- build(deps): Bump github.com/pelletier/go-toml/v2 from 2.2.2 to 2.2.3 (#3254)
- build(deps): Bump github.com/showwin/speedtest-go from 1.7.8 to 1.7.9 (#3255)
- *: bump golang to 1.23.1 (#3261)
- build(deps): Bump github.com/herumi/bls-eth-go-binary from 1.35.0 to 1.36.1 (#3256)
- cmd: hardening threshold parameter checks (#3242)
- build(deps): Bump github.com/prometheus/client_golang from 1.19.1 to 1.20.3 (#3258)
- workflows: bump govulncheck to v1.1.3 (#3262)
- build(deps): Bump golang.org/x/crypto from 0.26.0 to 0.27.0 (#3265)
- build(deps): Bump go.opentelemetry.io/otel/trace from 1.28.0 to 1.29.0 (#3252)
- build(deps): Bump go.opentelemetry.io/otel/exporters/stdout/stdouttrace from 1.28.0 to 1.29.0 (#3263)
- build(deps): Bump github.com/ferranbt/fastssz from 0.1.3 to 0.1.4 (#3264)
- build(deps): Bump golang.org/x/tools from 0.23.0 to 0.25.0 (#3270)
- build(deps): Bump go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp from 0.53.0 to 0.54.0 (#3271)
- build(deps): Bump go.opentelemetry.io/otel from 1.29.0 to 1.30.0 (#3274)
- build(deps): Bump go.opentelemetry.io/otel/exporters/stdout/stdouttrace from 1.29.0 to 1.30.0 (#3275)
- *: add --all for exit sign command (#3272)
- docs: fix typos (#3236)
- build(deps): Bump go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp from 0.54.0 to 0.55.0 (#3284)
- build(deps): Bump github.com/prometheus/client_golang from 1.20.3 to 1.20.4 (#3289)
- *: disable intrange linter (#3282)
- cmd: broadcast all exits (#3288)
- cmd: fetch all exits (#3291)
- build(deps): Bump chainsafe/lodestar from v1.21.0 to v1.22.0 in /testutil/compose/static/lodestar (#3293)
- build(deps): Bump attestant/vouch from 1.8.2 to 1.9.0 in /testutil/compose/static/vouch (#3294)
- [dkg: fixed TestSyncFlow...
v1.1.2
v1.1.2 - 2024-10-28
This is a non-urgent, patch release, which introduces a fix for DKG key creation issues.
Due to an upstream dependency issue, DKG running on AVX-enabled CPUs might fail due to misgenerated private keys.
Details the bug can be found here.
Full Changelog: v1.1.1...v1.1.2
Bugfixes
Compatibility Matrix
This release of Charon is backwards compatible with Charon v1.0.0 - v1.1.1. DKGs need to be completed with clients on the same minor release.
Due to the above mentioned issue, it is recommended to run DKGs with Charon v1.1.2 onwards.
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 | 🟡 | 🟡 | ✅ | ✅ | 🔴 |
-
sync committee and aggregator duties are not yet supported in a DV setup by Lighthouse, all other duties work as expected. ↩
v1.1.2-rc1
v1.1.2-rc1 - 2024-10-23
This is a non-urgent, patch release, which introduces a fix for DKG key creation issues.
Due to an upstream dependency issue, DKG running on AVX-enabled CPUs might fail due to misgenerated private keys.
Details the bug can be found here.
Full Changelog: v1.1.1...v1.1.2-rc1
Bugfixes
Compatibility Matrix
This release of Charon is backwards compatible with Charon v1.0.0 - v1.1.1. DKGs need to be completed with clients on the same minor release.
Due to the above mentioned issue, it is recommended to run DKGs with Charon v1.1.2 onwards.
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 | 🟡 | 🟡 | ✅ | ✅ | 🔴 |
-
sync committee and aggregator duties are not yet supported in a DV setup by Lighthouse, all other duties work as expected. ↩
v1.1.1
v1.1.1 - 2024-09-26
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
- *: fix flaky testpeers test #3267
- cmd: increase testpeers tests timeouts #3268
- cmd: fix test peers out of range #3280
- testutil: update docker-compose command to docker compose
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 | 🟡 | 🟡 | ✅ | ✅ | 🔴 |
-
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
v1.1.1-rc1 - 2024-09-17
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
- *: fix flaky testpeers test #3267
- cmd: increase testpeers tests timeouts #3268
- cmd: fix test peers out of range #3280
- testutil: update docker-compose command to docker compose
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 | 🟡 | 🟡 | ✅ | ✅ | 🔴 |
-
sync committee and aggregator duties are not yet supported in a DV setup by Lighthouse, all other duties work as expected. ↩
v1.1.0
v1.1.0 - 2024-08-26
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
- 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:
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
-
sync committee and aggregator duties are not yet supported in a DV setup by Lighthouse, all other duties work as expected. ↩
v1.0.1
v1.0.1 - 2024-07-15
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
-
sync committee and aggregator duties are not yet supported in a DV setup by Lighthouse, all other duties work as expected. ↩
v1.0.0
v1.0.0 - 2024-07-1
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, whileDutyBuilderProposer
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 inv0.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
- Lodestar:
-
If you run Nimbus as a validator client, make sure to pass
--feature-set-enable=json_requests
as CLI parameter tocharon 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
andconsensus_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 ofurl.Parse
where appropriate #2796 (#2832) - Complete
SignedEpoch
JSON migration inv0.19.0
#2593 (#2819) core/aggsigdb
: refactor to remove channel synchronization #1951 (#2950)- Only use promrated for network averages #2843 (#2844)
Test
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
-
sync committee and aggregator duties are not yet supported in a DV setup by Lighthouse, all other duties work as expected. ↩
v1.0.0-rc7
v1.0.0-rc7 - 2024-06-25
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, whileDutyBuilderProposer
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 ofurl.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 inv0.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
andconsensus_participate
flags to stable. #3001 (#3022) core/aggsigdb
: refactor to remove channel synchronization #1951 (#2950)
Test
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
-
cmd/relay: bind debug and monitoring address separately (#2817)
-
[*: add Makefil...
-
sync committee and aggregator duties are not yet supported in a DV setup by Lighthouse, all other duties work as expected. ↩