nimbus-eth2/vendor
zah 8771e91d53
Support for driving multiple EL nodes from a single Nimbus BN (#4465)
* Support for driving multiple EL nodes from a single Nimbus BN

Full list of changes:

* Eth1Monitor has been renamed to ELManager to match its current
  responsibilities better.

* The ELManager is no longer optional in the code (it won't have
  a nil value under any circumstances).

* The support for subscribing for headers was removed as it only
  worked with WebSockets and contributed significant complexity
  while bringing only a very minor advantage.

* The `--web3-url` parameter has been deprecated in favor of a
  new `--el` parameter. The new parameter has a reasonable default
  value and supports specifying a different JWT for each connection.
  Each connection can also be configured with a different set of
  responsibilities (e.g. download deposits, validate blocks and/or
  produce blocks). On the command-line, these properties can be
  configured through URL properties stored in the #anchor part of
  the URL. In TOML files, they come with a very natural syntax
  (althrough the URL scheme is also supported).

* The previously scattered EL-related state and logic is now moved
  to `eth1_monitor.nim` (this module will be renamed to `el_manager.nim`
  in a follow-up commit). State is assigned properly either to the
  `ELManager` or the to individual `ELConnection` objects where
  appropriate.

  The ELManager executes all Engine API requests against all attached
  EL nodes, in parallel. It compares their results and if there is a
  disagreement regarding the validity of a certain payload, this is
  detected and the beacon node is protected from publishing a block
  with a potential execution layer consensus bug in it.

  The BN provides metrics per EL node for the number of successful or
  failed requests for each type Engine API requests. If an EL node
  goes offline and connectivity is resoted later, we report the
  problem and the remedy in edge-triggered fashion.

* More progress towards implementing Deneb block production in the VC
  and comparing the value of blocks produced by the EL and the builder
  API.

* Adds a Makefile target for the zhejiang testnet
2023-03-05 01:40:21 +00:00
..
NimYAML@27642432ca bumps (#3567) 2022-04-04 16:53:16 +00:00
eth2-networks@51f96a0a1c Capella metadata for Sepolia (#4615) 2023-02-15 14:44:09 +00:00
gnosis-chain-configs@3e47c417ae chore: update gnosis chain configs (#4603) 2023-02-11 18:10:10 +01:00
merge-testnets@baebfaba3c Capella metadata for Sepolia (#4615) 2023-02-15 14:44:09 +00:00
nim-bearssl@d0271920a7 bumps (#4352) 2022-11-24 20:56:02 +00:00
nim-blscurve@48d8668c5a bumps (#4352) 2022-11-24 20:56:02 +00:00
nim-chronicles@527b2bd3f4 enable `styleCheck:usages` (#3573) 2022-04-08 16:22:49 +00:00
nim-chronos@f7835a192b chronos: bump 2023-02-28 11:10:26 +01:00
nim-confutils@56f4db90f7 bumps (#4352) 2022-11-24 20:56:02 +00:00
nim-eth@72c9858927 sqlite: bump to 3.40.1 (#4649) 2023-03-02 18:59:50 +00:00
nim-eth2-scenarios@0ffd741121 use consensus spec v1.3.0-rc.3 test vectors (#4645) 2023-02-21 12:58:08 +00:00
nim-faststreams@d68f64254e bumps (#4352) 2022-11-24 20:56:02 +00:00
nim-http-utils@a85bd52ae0 bump & ci fixes (#4409) 2022-12-09 17:06:29 +01:00
nim-json-rpc@07e4705b1f Support for driving multiple EL nodes from a single Nimbus BN (#4465) 2023-03-05 01:40:21 +00:00
nim-json-serialization@a7d815ed92 bumps (#4352) 2022-11-24 20:56:02 +00:00
nim-libbacktrace@b29c22ba0e Bump libbacktrace (#3794) 2022-06-24 07:04:29 +02:00
nim-libp2p@ba451196e8 Bump libp2p (#4470) 2023-01-06 19:33:14 +00:00
nim-metrics@0a6477268e bumps (#4297) 2022-11-08 10:56:06 +00:00
nim-nat-traversal@27d314d65c Flake-based build environment for Nix users (#3534) 2022-10-15 03:46:30 +02:00
nim-normalize@30948551be bumps (#3567) 2022-04-04 16:53:16 +00:00
nim-presto@18837545f3 disable BareExcept warnings (#4662) 2023-02-24 19:50:46 +00:00
nim-secp256k1@fd173fdff8 bump secp256k1 (#4388) 2022-12-05 16:58:05 +00:00
nim-serialization@d77417cba6 bumps (#4352) 2022-11-24 20:56:02 +00:00
nim-snappy@235c33c5ef bumps (#4352) 2022-11-24 20:56:02 +00:00
nim-sqlite3-abi@362e1bd9f6 sqlite: bump to 3.40.1 (#4649) 2023-03-02 18:59:50 +00:00
nim-ssz-serialization@639758dbd9 bump ssz-serialization (#4017) 2022-08-23 18:32:34 +00:00
nim-stew@407a598836 nim-stew bump (#4610) 2023-02-10 23:59:00 +00:00
nim-stint@3472a16fbc bump nim-stint to avoid compiler deprecation warnings (#4600) 2023-02-07 16:20:24 +00:00
nim-taskpools@89d693d3ff bumps (#4352) 2022-11-24 20:56:02 +00:00
nim-testutils@29f98cec6f bumps (#4297) 2022-11-08 10:56:06 +00:00
nim-toml-serialization@a243648f24 bumps (#4297) 2022-11-08 10:56:06 +00:00
nim-unicodedb@7d3b449c44 bumps (#4297) 2022-11-08 10:56:06 +00:00
nim-unittest2@da8398c45c bumps (#4297) 2022-11-08 10:56:06 +00:00
nim-web3@610dda642c Support for driving multiple EL nodes from a single Nimbus BN (#4465) 2023-03-05 01:40:21 +00:00
nim-websock@acbe30e9ca bumps (#4297) 2022-11-08 10:56:06 +00:00
nim-zlib@6a6670afba bumps (#4297) 2022-11-08 10:56:06 +00:00
nim-zxcvbn@b6ce43a79e bump nim-zxcvbn for styleCheck compatibility (#3919) 2022-07-27 14:25:09 +03:00
nimbus-benchmarking@dff3634b5d /bin/bash -> /usr/bin/env bash (needed on NixOS) 2021-11-15 15:45:01 +02:00
nimbus-build-system@95afb33019 Bump NBS to fix nimbus-build-system.paths issues (#4659) 2023-02-23 23:17:23 +02:00
nimbus-security-resources@ce9945b1b1 Add Nimble lock file (#3560) 2022-03-30 22:00:03 +00:00
nimcrypto@24e006df85 bump nimcrypto for styleCheck compatibility (#3885) 2022-07-18 17:13:25 +00:00
withdrawals-testnets@38a7b24069 Support for driving multiple EL nodes from a single Nimbus BN (#4465) 2023-03-05 01:40:21 +00:00