lighthouse/common
Paul Hauner 6a0e9d4353 Add Goerli --network flag as duplicate of Prater: Option A (#3346)
## Issue Addressed

- Resolves #3338

## Proposed Changes

This PR adds a new `--network goerli` flag that reuses the [Prater network configs](https://github.com/sigp/lighthouse/tree/stable/common/eth2_network_config/built_in_network_configs/prater).

As you'll see in #3338, there are several approaches to the problem of the Goerli/Prater alias. This approach achieves:

1. No duplication of the genesis state between Goerli and Prater.
    - Upside: the genesis state for Prater is ~17mb, duplication would increase the size of the binary by that much.
2. When the user supplies `--network goerli`, they will get a datadir in `~/.lighthouse/goerli`.
    - Upside: our docs stay correct when they declare a datadir is located at `~/.lighthouse/{network}`
    - Downside: switching from `--network prater` to `--network goerli` will require some manual migration. 
3. When using `--network goerli`, the [`config/spec`](https://ethereum.github.io/beacon-APIs/#/Config/getSpec) endpoint will return a [`CONFIG_NAME`](02a2b71d64/configs/mainnet.yaml (L11)) of "prater".
    - Upside: VC running `--network prater` will still think it's on the same network as one using `--network goerli`.
    - Downside: potentially confusing.
    
#3348 achieves the same goal as this PR with a different approach and set of trade-offs.

## Additional Info

### Notes for reviewers:

In e4896c2682 you'll see that I remove the `$name_str` by just using `stringify!($name_ident)` instead. This is a simplification that should have have been there in the first place.

Then, in 90b5e22fca I reclaim that second parameter with a new purpose; to specify the directory from which to load configs.
2022-07-20 23:16:56 +00:00
..
account_utils Share reqwest::Client between validators when using Web3Signer (#3335) 2022-07-19 05:48:05 +00:00
clap_utils Enforce Optimistic Sync Conditions & CLI Tests (v2) (#3050) 2022-03-01 22:56:47 +00:00
compare_fields Update to Rust 1.59 and 2021 edition (#3038) 2022-02-25 00:10:17 +00:00
compare_fields_derive Update to Rust 1.59 and 2021 edition (#3038) 2022-02-25 00:10:17 +00:00
deposit_contract Update and consolidate dependencies (#3136) 2022-04-04 00:26:16 +00:00
directory Update to Rust 1.59 and 2021 edition (#3038) 2022-02-25 00:10:17 +00:00
eth2 add sync committee contribution timeout (#3291) 2022-07-11 01:44:42 +00:00
eth2_config Add Goerli --network flag as duplicate of Prater: Option A (#3346) 2022-07-20 23:16:56 +00:00
eth2_interop_keypairs Update and consolidate dependencies (#3136) 2022-04-04 00:26:16 +00:00
eth2_network_config Add Goerli --network flag as duplicate of Prater: Option A (#3346) 2022-07-20 23:16:56 +00:00
eth2_wallet_manager Replace OpenOptions::new with File::options to be readable (#3059) 2022-03-07 06:30:18 +00:00
fallback Update to Rust 1.59 and 2021 edition (#3038) 2022-02-25 00:10:17 +00:00
filesystem Update to Rust 1.59 and 2021 edition (#3038) 2022-02-25 00:10:17 +00:00
hashset_delay Update to Rust 1.59 and 2021 edition (#3038) 2022-02-25 00:10:17 +00:00
lighthouse_metrics Update to Rust 1.59 and 2021 edition (#3038) 2022-02-25 00:10:17 +00:00
lighthouse_version v2.3.2-rc.0 (#3289) 2022-06-28 03:03:30 +00:00
lockfile Replace OpenOptions::new with File::options to be readable (#3059) 2022-03-07 06:30:18 +00:00
logging Add log debounce to work processor (#3045) 2022-03-07 06:30:17 +00:00
lru_cache keep failed finalized chains to avoid retries (#3142) 2022-04-13 01:10:55 +00:00
malloc_utils Update and consolidate dependencies (#3136) 2022-04-04 00:26:16 +00:00
monitoring_api cargo audit updates (#3063) 2022-03-08 19:48:12 +00:00
sensitive_url Enforce Optimistic Sync Conditions & CLI Tests (v2) (#3050) 2022-03-01 22:56:47 +00:00
slot_clock Update and consolidate dependencies (#3136) 2022-04-04 00:26:16 +00:00
target_check Update to Rust 1.59 and 2021 edition (#3038) 2022-02-25 00:10:17 +00:00
task_executor Use async code when interacting with EL (#3244) 2022-07-03 05:36:50 +00:00
test_random_derive Update to Rust 1.59 and 2021 edition (#3038) 2022-02-25 00:10:17 +00:00
unused_port Engine API v1.0.0.alpha.6 + interop tests (#3024) 2022-02-17 21:47:06 +00:00
validator_dir Update and consolidate dependencies (#3136) 2022-04-04 00:26:16 +00:00
warp_utils Implement feerecipient API for keymanager (#3213) 2022-07-06 03:51:08 +00:00
README.md Directory Restructure (#1163) 2020-05-18 21:24:23 +10:00

eth2

Common crates containing eth2-specific logic.