Native support for Gnosis Beacon Chain network (#2931)

## Proposed Changes

Add a new hardcoded spec for the Gnosis Beacon Chain.
Ideally, official Lighthouse executables will be able to connect to the gnosis beacon chain from now on, using `--network gnosis` CLI option.
This commit is contained in:
Kirill Fedoseev
2022-01-27 22:58:33 +00:00
parent 99d2c33387
commit ee000d5219
19 changed files with 490 additions and 19 deletions

View File

@@ -52,11 +52,12 @@ fn main() {
"{}\n\
BLS library: {}\n\
SHA256 hardware acceleration: {}\n\
Specs: mainnet (true), minimal ({})",
Specs: mainnet (true), minimal ({}), gnosis ({})",
VERSION.replace("Lighthouse/", ""),
bls_library_name(),
have_sha_extensions(),
cfg!(feature = "spec-minimal"),
cfg!(feature = "gnosis"),
).as_str()
)
.arg(
@@ -302,9 +303,11 @@ fn main() {
match eth_spec_id {
EthSpecId::Mainnet => run(EnvironmentBuilder::mainnet(), &matches, eth2_network_config),
#[cfg(feature = "gnosis")]
EthSpecId::Gnosis => run(EnvironmentBuilder::gnosis(), &matches, eth2_network_config),
#[cfg(feature = "spec-minimal")]
EthSpecId::Minimal => run(EnvironmentBuilder::minimal(), &matches, eth2_network_config),
#[cfg(not(feature = "spec-minimal"))]
#[cfg(not(all(feature = "spec-minimal", feature = "gnosis")))]
other => {
eprintln!(
"Eth spec `{}` is not supported by this build of Lighthouse",