Version 22.11.0
This commit is contained in:
parent
69b6c6e738
commit
7dd4718735
95
CHANGELOG.md
95
CHANGELOG.md
|
@ -1,3 +1,90 @@
|
|||
2022-11-30 v22.11.0
|
||||
===================
|
||||
|
||||
Nimbus `v22.11.0` is a `low-urgency` release, bringing the first
|
||||
production-ready version of the [Nimbus validator client][1].
|
||||
The validator client will enable advanced users such as professional
|
||||
institutional operators to take advantage of features such as support
|
||||
for [redundant beacon nodes][2], [enhanced validator privacy][3] and
|
||||
[distributed keystores][4]. All existing users, currently relying on
|
||||
the streamlined stand-alone beacon node setup are not required to take
|
||||
action, as this mode of operation will continue to be supported and
|
||||
improved forever.
|
||||
|
||||
[1]: https://nimbus.guide/validator-client.html
|
||||
[2]: https://nimbus.guide/validator-client-options.html#multiple-beacon-nodes
|
||||
[3]: https://nimbus.guide/validator-client-options.html#sentry-node-setup
|
||||
[4]: https://github.com/status-im/nimbus-eth2/issues/3416
|
||||
|
||||
### Improvements
|
||||
|
||||
* The Nimbus validator client graduates from BETA to production-ready
|
||||
status after numerous improvements and fixes:
|
||||
|
||||
https://nimbus.guide/validator-client.html
|
||||
|
||||
* The Nimbus beacon node is now compatible with validator clients
|
||||
taking advantage of the `/eth/v1/beacon/blinded_blocks` end-point:
|
||||
|
||||
https://github.com/status-im/nimbus-eth2/pull/4286
|
||||
|
||||
* The validator keystore loading during start-up is now 3x faster:
|
||||
|
||||
https://github.com/status-im/nimbus-eth2/pull/4301
|
||||
|
||||
* The doppelganger detection will now protect validators added
|
||||
on the fly through the Keymanager API:
|
||||
|
||||
https://github.com/status-im/nimbus-eth2/pull/4304
|
||||
|
||||
* Fine-tuned internal task scheduling will provide better
|
||||
quality-of-service protections for performing all validator
|
||||
duties in the presence of syncing peers performing large
|
||||
number of concurrent block download requests:
|
||||
|
||||
https://github.com/status-im/nimbus-eth2/pull/4254
|
||||
|
||||
* The `--optimistic` mode of the beacon node will allow you to
|
||||
stay synced with the network even without an execution layer
|
||||
node:
|
||||
|
||||
https://nimbus.guide/optimistic-sync.html#optimistic-mode
|
||||
https://github.com/status-im/nimbus-eth2/pull/4262
|
||||
|
||||
Please note that this mode is less secure and intended only
|
||||
for non-critical information retrieval through the Beacon API.
|
||||
|
||||
### Fixes
|
||||
|
||||
* A small risk for missing block proposals was present under heavy
|
||||
forking activity in the network due to potential inclusion of
|
||||
inappropriate attestations in the produced blocks:
|
||||
|
||||
https://github.com/status-im/nimbus-eth2/pull/4273
|
||||
|
||||
* A new batching approach for the registration of validators in the
|
||||
builder network will prevent the creation of requests of excessive
|
||||
size that might be rejected by the network. This was a problem
|
||||
affecting testnet nodes running with thousands of validators:
|
||||
|
||||
https://github.com/status-im/nimbus-eth2/pull/4364
|
||||
|
||||
|
||||
### Deprecated features
|
||||
|
||||
* The `--finalized-checkpoint-block` has been deprecated.
|
||||
The client will now download only the latest finalized state
|
||||
during trusted node sync:
|
||||
|
||||
https://github.com/status-im/nimbus-eth2/pull/4251
|
||||
|
||||
* The end-points `/eth/v1/beacon/blocks/{block_id}`, `/eth/v1/debug/beacon/states/{state_id}`, and `/eth/v1/validator/blocks/{slot}`
|
||||
have been deprecated since they are no longer usable since
|
||||
the Altair hard-fork:
|
||||
|
||||
https://github.com/status-im/nimbus-eth2/pull/4279
|
||||
|
||||
|
||||
2022-10-14 v22.10.1
|
||||
===================
|
||||
|
||||
|
@ -37,9 +124,9 @@ Nimbus `v22.10.0` is a `medium-urgency` release, continuing our briefly accelera
|
|||
* The `/eth/v2/validator/blocks/{slot}` API now features an optional `randao_reveal` parameter in accordance to the latest Beacon API spec:
|
||||
https://github.com/ethereum/beacon-APIs/pull/222
|
||||
https://github.com/status-im/nimbus-eth2/pull/3837
|
||||
|
||||
|
||||
* The `/eth/v1/beacon/blocks` API now supports SSZ-encoded payloads:
|
||||
https://github.com/status-im/nimbus-eth2/pull/4154
|
||||
https://github.com/status-im/nimbus-eth2/pull/4154
|
||||
|
||||
* The new metrics `beacon_block_builder_proposed`, `beacon_block_builder_missed_with_fallback` and `beacon_block_builder_missed_without_fallback` can help you track the successful and failed attempts to use the configured external block builder:
|
||||
https://github.com/status-im/nimbus-eth2/pull/4158
|
||||
|
@ -52,8 +139,8 @@ Nimbus `v22.10.0` is a `medium-urgency` release, continuing our briefly accelera
|
|||
|
||||
* If the chain was re-orged while Nimbus is shut down, this created a low risk that the client may become stuck on a non-canonical block:
|
||||
https://github.com/status-im/nimbus-eth2/pull/4161
|
||||
|
||||
* Nimbus was not serving the best possible light client updates when back-filling after a trusted node sync:
|
||||
|
||||
* Nimbus was not serving the best possible light client updates when back-filling after a trusted node sync:
|
||||
https://github.com/status-im/nimbus-eth2/pull/4195
|
||||
|
||||
### Upcoming breaking changes
|
||||
|
|
|
@ -449,7 +449,7 @@ type
|
|||
name: "rest-max-headers-size" .}: Natural
|
||||
|
||||
keymanagerEnabled* {.
|
||||
desc: "Enable the REST keymanager API (BETA version)"
|
||||
desc: "Enable the REST keymanager API"
|
||||
defaultValue: false
|
||||
name: "keymanager" .}: bool
|
||||
|
||||
|
@ -540,16 +540,16 @@ type
|
|||
name: "terminal-total-difficulty-override" .}: Option[string]
|
||||
|
||||
validatorMonitorAuto* {.
|
||||
desc: "Automatically monitor locally active validators (BETA)"
|
||||
desc: "Automatically monitor locally active validators"
|
||||
defaultValue: false
|
||||
name: "validator-monitor-auto" .}: bool
|
||||
|
||||
validatorMonitorPubkeys* {.
|
||||
desc: "One or more validators to monitor - works best when --subscribe-all-subnets is enabled (BETA)"
|
||||
desc: "One or more validators to monitor - works best when --subscribe-all-subnets is enabled"
|
||||
name: "validator-monitor-pubkey" .}: seq[ValidatorPubKey]
|
||||
|
||||
validatorMonitorTotals* {.
|
||||
desc: "Publish metrics to single 'totals' label for better collection performance when monitoring many validators (BETA)"
|
||||
desc: "Publish metrics to single 'totals' label for better collection performance when monitoring many validators"
|
||||
defaultValue: false
|
||||
name: "validator-monitor-totals" .}: bool
|
||||
|
||||
|
@ -860,7 +860,7 @@ type
|
|||
name: "suggested-fee-recipient" .}: Option[Address]
|
||||
|
||||
keymanagerEnabled* {.
|
||||
desc: "Enable the REST keymanager API (BETA version)"
|
||||
desc: "Enable the REST keymanager API"
|
||||
defaultValue: false
|
||||
name: "keymanager" .}: bool
|
||||
|
||||
|
@ -886,18 +886,18 @@ type
|
|||
name: "keymanager-token-file" .}: Option[InputFile]
|
||||
|
||||
metricsEnabled* {.
|
||||
desc: "Enable the metrics server"
|
||||
desc: "Enable the metrics server (BETA)"
|
||||
defaultValue: false
|
||||
name: "metrics" .}: bool
|
||||
|
||||
metricsAddress* {.
|
||||
desc: "Listening address of the metrics server"
|
||||
desc: "Listening address of the metrics server (BETA)"
|
||||
defaultValue: defaultAdminListenAddress
|
||||
defaultValueDesc: $defaultAdminListenAddressDesc
|
||||
name: "metrics-address" .}: ValidIpAddress
|
||||
|
||||
metricsPort* {.
|
||||
desc: "Listening HTTP port of the metrics server"
|
||||
desc: "Listening HTTP port of the metrics server (BETA)"
|
||||
defaultValue: 8108
|
||||
name: "metrics-port" .}: Port
|
||||
|
||||
|
@ -913,12 +913,12 @@ type
|
|||
name: "stop-at-epoch" .}: uint64
|
||||
|
||||
payloadBuilderEnable* {.
|
||||
desc: "Enable usage of beacon node with external payload builder"
|
||||
desc: "Enable usage of beacon node with external payload builder (BETA)"
|
||||
defaultValue: false
|
||||
name: "payload-builder" .}: bool
|
||||
|
||||
beaconNodes* {.
|
||||
desc: "URL addresses to one or more beacon node HTTP REST APIs",
|
||||
desc: "URL addresses to one or more beacon node HTTP REST APIs (The support for using multiple beacon nodes is considered BETA quality)",
|
||||
defaultValue: @[defaultBeaconNodeUri]
|
||||
defaultValueDesc: $defaultBeaconNodeUri
|
||||
name: "beacon-node" .}: seq[Uri]
|
||||
|
@ -973,19 +973,19 @@ type
|
|||
name: "request-timeout" .}: int
|
||||
|
||||
bindPort* {.
|
||||
desc: "Port for the REST (BETA version) HTTP server"
|
||||
desc: "Port for the REST HTTP server"
|
||||
defaultValue: defaultEth2RestPort
|
||||
defaultValueDesc: $defaultEth2RestPortDesc
|
||||
name: "bind-port" .}: Port
|
||||
|
||||
bindAddress* {.
|
||||
desc: "Listening address of the REST (BETA version) HTTP server"
|
||||
desc: "Listening address of the REST HTTP server"
|
||||
defaultValue: defaultAdminListenAddress
|
||||
defaultValueDesc: $defaultAdminListenAddressDesc
|
||||
name: "bind-address" .}: ValidIpAddress
|
||||
|
||||
tlsEnabled* {.
|
||||
desc: "Use secure TLS communication for REST (BETA version) server"
|
||||
desc: "Use secure TLS communication for REST server"
|
||||
defaultValue: false
|
||||
name: "tls" .}: bool
|
||||
|
||||
|
|
|
@ -20,8 +20,8 @@ when not defined(nimscript):
|
|||
|
||||
const
|
||||
versionMajor* = 22
|
||||
versionMinor* = 10
|
||||
versionBuild* = 1
|
||||
versionMinor* = 11
|
||||
versionBuild* = 0
|
||||
|
||||
versionBlob* = "stateofus" # Single word - ends up in the default graffiti
|
||||
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
# Keymanager API
|
||||
|
||||
!!! warning
|
||||
This feature is currently in BETA - we are still testing it and implementation details may change in response to community feedback. **We strongly advise against using it on mainnet** - your validators may get slashed
|
||||
|
||||
The standardized [Keymanager API](https://ethereum.github.io/keymanager-APIs/) can be used to add, remove, or [migrate](./migration.md) validators on the fly while the beacon node is running.
|
||||
|
||||
As of `v1.7.0` it supports `web3signer` keystores.
|
||||
|
|
|
@ -82,7 +82,7 @@ The following options are available:
|
|||
[=infinite].
|
||||
--rest-max-body-size Maximum size of REST request body (kilobytes) [=16384].
|
||||
--rest-max-headers-size Maximum size of REST request headers (kilobytes) [=64].
|
||||
--keymanager Enable the REST keymanager API (BETA version) [=false].
|
||||
--keymanager Enable the REST keymanager API [=false].
|
||||
--keymanager-port Listening port for the REST keymanager API [=5052].
|
||||
--keymanager-address Listening port for the REST keymanager API [=127.0.0.1].
|
||||
--keymanager-allow-origin Limit the access to the Keymanager API to a particular hostname (for
|
||||
|
@ -106,11 +106,11 @@ The following options are available:
|
|||
a validator with the same index (a doppelganger), before sending an attestation
|
||||
itself. This protects against slashing (due to double-voting) but means you will
|
||||
miss two attestations when restarting. [=true].
|
||||
--validator-monitor-auto Automatically monitor locally active validators (BETA) [=false].
|
||||
--validator-monitor-auto Automatically monitor locally active validators [=false].
|
||||
--validator-monitor-pubkey One or more validators to monitor - works best when --subscribe-all-subnets is
|
||||
enabled (BETA).
|
||||
enabled.
|
||||
--validator-monitor-totals Publish metrics to single 'totals' label for better collection performance when
|
||||
monitoring many validators (BETA) [=false].
|
||||
monitoring many validators [=false].
|
||||
--suggested-fee-recipient Suggested fee recipient.
|
||||
--payload-builder Enable external payload builder [=false].
|
||||
--payload-builder-url Payload builder URL.
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# Run a separate validator client
|
||||
|
||||
!!! warning
|
||||
This feature is currently in BETA - we are still testing it and implementation details may change in response to community feedback. **We strongly advise against using it on mainnet** - your validators may get slashed
|
||||
Some features of the validator client, such as the metrics server, are currently in BETA and details may change in response to community feedback. Please consult the `--help` screen for more details.
|
||||
|
||||
By default, Nimbus integrates the validator client into the main beacon node process - this is a simple, safe and efficient way to run a validator.
|
||||
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
# Validator monitoring
|
||||
|
||||
!!! warning
|
||||
This feature is currently in BETA - implementation details such as metric names and counters may change in response to community feedback.
|
||||
|
||||
The validator monitoring feature allows for tracking the life-cycle and performance of one or more validators in detail.
|
||||
|
||||
Monitoring can be carried out for any validator, with slightly more detail for validators that are running in the same beacon node.
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit 8c59324e8fc5d5f1126e9d4f5ff38f37322dab45
|
||||
Subproject commit 97ee9bab50495b546b7a3415a0e2bdcfd3b6a503
|
Loading…
Reference in New Issue