Skip to content

Commit

Permalink
Remove Goerli support (#5770)
Browse files Browse the repository at this point in the history
* Delete Goerli

* Generate validator manager test vectors

* Fix newlines in CLI docs

* Fix deposit-cli tests

* Run web3signer tests for Holesky from Bellatrix

* Fix mainnet bellatrix web3signer test

* Merge remote-tracking branch 'origin/unstable' into rm-goerli

* Fix snafu
  • Loading branch information
michaelsproul authored May 27, 2024
1 parent 6f05863 commit 7f8b600
Show file tree
Hide file tree
Showing 46 changed files with 64 additions and 255 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -210,9 +210,9 @@ jobs:
## Testing Checklist (DELETE ME)
- [ ] Run on synced Prater Sigma Prime nodes.
- [ ] Run on synced Holesky Sigma Prime nodes.
- [ ] Run on synced Canary (mainnet) Sigma Prime nodes.
- [ ] Resync a Prater node.
- [ ] Resync a Holesky node.
- [ ] Resync a mainnet node.
## Release Checklist (DELETE ME)
Expand Down
9 changes: 2 additions & 7 deletions beacon_node/eth1/src/service.rs
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ use tokio::time::{interval_at, Duration, Instant};
use types::{ChainSpec, DepositTreeSnapshot, Eth1Data, EthSpec, Unsigned};

/// Indicates the default eth1 chain id we use for the deposit contract.
pub const DEFAULT_CHAIN_ID: Eth1Id = Eth1Id::Goerli;
pub const DEFAULT_CHAIN_ID: Eth1Id = Eth1Id::Mainnet;
/// Indicates the default eth1 endpoint.
pub const DEFAULT_ETH1_ENDPOINT: &str = "http://localhost:8545";

Expand Down Expand Up @@ -266,7 +266,7 @@ pub struct Config {
pub endpoint: Eth1Endpoint,
/// The address the `BlockCache` and `DepositCache` should assume is the canonical deposit contract.
pub deposit_contract_address: String,
/// The eth1 chain id where the deposit contract is deployed (Goerli/Mainnet).
/// The eth1 chain id where the deposit contract is deployed (Holesky/Mainnet).
pub chain_id: Eth1Id,
/// Defines the first block that the `DepositCache` will start searching for deposit logs.
///
Expand Down Expand Up @@ -450,11 +450,6 @@ impl Service {

/// Returns the follow distance that has been shortened to accommodate for differences in the
/// spacing between blocks.
///
/// ## Notes
///
/// This is useful since the spec declares `SECONDS_PER_ETH1_BLOCK` to be `14`, whilst it is
/// actually `15` on Goerli.
pub fn cache_follow_distance(&self) -> u64 {
self.config().cache_follow_distance()
}
Expand Down
3 changes: 0 additions & 3 deletions beacon_node/execution_layer/src/engine_api/http.rs
Original file line number Diff line number Diff line change
Expand Up @@ -238,7 +238,6 @@ pub mod deposit_methods {
/// Represents an eth1 chain/network id.
#[derive(Debug, PartialEq, Clone, Serialize, Deserialize)]
pub enum Eth1Id {
Goerli,
Mainnet,
Custom(u64),
}
Expand All @@ -262,7 +261,6 @@ pub mod deposit_methods {
fn into(self) -> u64 {
match self {
Eth1Id::Mainnet => 1,
Eth1Id::Goerli => 5,
Eth1Id::Custom(id) => id,
}
}
Expand All @@ -273,7 +271,6 @@ pub mod deposit_methods {
let into = |x: Eth1Id| -> u64 { x.into() };
match id {
id if id == into(Eth1Id::Mainnet) => Eth1Id::Mainnet,
id if id == into(Eth1Id::Goerli) => Eth1Id::Goerli,
id => Eth1Id::Custom(id),
}
}
Expand Down
2 changes: 1 addition & 1 deletion book/src/api-lighthouse.md
Original file line number Diff line number Diff line change
Expand Up @@ -686,7 +686,7 @@ The first few lines of the response would look like:
"slot": "1",
"parent_slot": "0",
"proposer_index": 93,
"graffiti": "EF #vm-eth2-raw-iron-prater-101"
"graffiti": "EF #vm-eth2-raw-iron-101"
},
"attestation_rewards": {
"total": 637260,
Expand Down
4 changes: 2 additions & 2 deletions book/src/api-vc-auth-header.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ When starting the validator client it will output a log message containing the p
to the file containing the api token.

```text
Sep 28 19:17:52.615 INFO HTTP API started api_token_file: "$HOME/prater/validators/api-token.txt", listen_address: 127.0.0.1:5062
Sep 28 19:17:52.615 INFO HTTP API started api_token_file: "$HOME/holesky/validators/api-token.txt", listen_address: 127.0.0.1:5062
```

The _path_ to the API token may also be fetched from the HTTP API itself (this endpoint is the only
Expand All @@ -45,7 +45,7 @@ Response:

```json
{
"token_path": "/home/karlm/.lighthouse/prater/validators/api-token.txt"
"token_path": "/home/karlm/.lighthouse/holesky/validators/api-token.txt"
}
```

Expand Down
4 changes: 2 additions & 2 deletions book/src/api-vc-endpoints.md
Original file line number Diff line number Diff line change
Expand Up @@ -225,7 +225,7 @@ Example Response Body
```json
{
"data": {
"CONFIG_NAME": "prater",
"CONFIG_NAME": "holesky",
"PRESET_BASE": "mainnet",
"TERMINAL_TOTAL_DIFFICULTY": "10790000",
"TERMINAL_BLOCK_HASH": "0x0000000000000000000000000000000000000000000000000000000000000000",
Expand Down Expand Up @@ -353,7 +353,7 @@ Example Response Body

```json
{
"token_path": "/home/karlm/.lighthouse/prater/validators/api-token.txt"
"token_path": "/home/karlm/.lighthouse/holesky/validators/api-token.txt"
}
```

Expand Down
4 changes: 2 additions & 2 deletions book/src/help_bn.md
Original file line number Diff line number Diff line change
Expand Up @@ -345,8 +345,8 @@ OPTIONS:
Defines how many seconds to wait between each message sent to the monitoring-endpoint. Default: 60s
--network <network>
Name of the Eth2 chain Lighthouse will sync and follow. [possible values: mainnet, prater, goerli, gnosis,
chiado, sepolia, holesky]
Name of the Eth2 chain Lighthouse will sync and follow. [possible values: mainnet, gnosis, chiado, sepolia,
holesky]
--network-dir <DIR>
Data directory for network keys. Defaults to network/ inside the beacon node dir.
Expand Down
4 changes: 2 additions & 2 deletions book/src/help_general.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,8 +61,8 @@ OPTIONS:
The maximum size (in MB) each log file can grow to before rotating. If set to 0, background file logging is
disabled. [default: 200]
--network <network>
Name of the Eth2 chain Lighthouse will sync and follow. [possible values: mainnet, prater, goerli, gnosis,
chiado, sepolia, holesky]
Name of the Eth2 chain Lighthouse will sync and follow. [possible values: mainnet, gnosis, chiado, sepolia,
holesky]
--safe-slots-to-import-optimistically <INTEGER>
Used to coordinate manual overrides of the SAFE_SLOTS_TO_IMPORT_OPTIMISTICALLY parameter. This flag should
only be used if the user has a clear understanding that the broad Ethereum community has elected to override
Expand Down
4 changes: 2 additions & 2 deletions book/src/help_vc.md
Original file line number Diff line number Diff line change
Expand Up @@ -175,8 +175,8 @@ OPTIONS:
Defines how many seconds to wait between each message sent to the monitoring-endpoint. Default: 60s
--network <network>
Name of the Eth2 chain Lighthouse will sync and follow. [possible values: mainnet, prater, goerli, gnosis,
chiado, sepolia, holesky]
Name of the Eth2 chain Lighthouse will sync and follow. [possible values: mainnet, gnosis, chiado, sepolia,
holesky]
--proposer-nodes <NETWORK_ADDRESSES>
Comma-separated addresses to one or more beacon node HTTP APIs. These specify nodes that are used to send
beacon block proposals. A failure will revert back to the standard beacon nodes specified in --beacon-nodes.
Expand Down
4 changes: 2 additions & 2 deletions book/src/help_vm.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,8 @@ OPTIONS:
The maximum size (in MB) each log file can grow to before rotating. If set to 0, background file logging is
disabled. [default: 200]
--network <network>
Name of the Eth2 chain Lighthouse will sync and follow. [possible values: mainnet, prater, goerli, gnosis,
chiado, sepolia, holesky]
Name of the Eth2 chain Lighthouse will sync and follow. [possible values: mainnet, gnosis, chiado, sepolia,
holesky]
--safe-slots-to-import-optimistically <INTEGER>
Used to coordinate manual overrides of the SAFE_SLOTS_TO_IMPORT_OPTIMISTICALLY parameter. This flag should
only be used if the user has a clear understanding that the broad Ethereum community has elected to override
Expand Down
4 changes: 2 additions & 2 deletions book/src/help_vm_create.md
Original file line number Diff line number Diff line change
Expand Up @@ -100,8 +100,8 @@ OPTIONS:
If present, the mnemonic will be read in from this file.
--network <network>
Name of the Eth2 chain Lighthouse will sync and follow. [possible values: mainnet, prater, goerli, gnosis,
chiado, sepolia, holesky]
Name of the Eth2 chain Lighthouse will sync and follow. [possible values: mainnet, gnosis, chiado, sepolia,
holesky]
--output-path <DIRECTORY>
The path to a directory where the validator and (optionally) deposits files will be created. The directory
will be created if it does not exist.
Expand Down
4 changes: 2 additions & 2 deletions book/src/help_vm_import.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,8 +64,8 @@ OPTIONS:
The maximum size (in MB) each log file can grow to before rotating. If set to 0, background file logging is
disabled. [default: 200]
--network <network>
Name of the Eth2 chain Lighthouse will sync and follow. [possible values: mainnet, prater, goerli, gnosis,
chiado, sepolia, holesky]
Name of the Eth2 chain Lighthouse will sync and follow. [possible values: mainnet, gnosis, chiado, sepolia,
holesky]
--safe-slots-to-import-optimistically <INTEGER>
Used to coordinate manual overrides of the SAFE_SLOTS_TO_IMPORT_OPTIMISTICALLY parameter. This flag should
only be used if the user has a clear understanding that the broad Ethereum community has elected to override
Expand Down
4 changes: 2 additions & 2 deletions book/src/help_vm_move.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,8 @@ OPTIONS:
The maximum size (in MB) each log file can grow to before rotating. If set to 0, background file logging is
disabled. [default: 200]
--network <network>
Name of the Eth2 chain Lighthouse will sync and follow. [possible values: mainnet, prater, goerli, gnosis,
chiado, sepolia, holesky]
Name of the Eth2 chain Lighthouse will sync and follow. [possible values: mainnet, gnosis, chiado, sepolia,
holesky]
--prefer-builder-proposals <prefer-builder-proposals>
If this flag is set, Lighthouse will always prefer blocks constructed by builders, regardless of payload
value. [possible values: true, false]
Expand Down
16 changes: 8 additions & 8 deletions book/src/key-management.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,21 +75,21 @@ mnemonic is encrypted with a password. It is the responsibility of the user to
define a strong password. The password is only required for interacting with
the wallet, it is not required for recovering keys from a mnemonic.

To create a wallet, use the `lighthouse account wallet` command. For example, if we wish to create a new wallet for the Goerli testnet named `wally` and saves it in `~/.lighthouse/goerli/wallets` with a randomly generated password saved
To create a wallet, use the `lighthouse account wallet` command. For example, if we wish to create a new wallet for the Holesky testnet named `wally` and saves it in `~/.lighthouse/holesky/wallets` with a randomly generated password saved
to `./wallet.pass`:

```bash
lighthouse --network goerli account wallet create --name wally --password-file wally.pass
lighthouse --network holesky account wallet create --name wally --password-file wally.pass
```

Using the above command, a wallet will be created in `~/.lighthouse/goerli/wallets` with the name
Using the above command, a wallet will be created in `~/.lighthouse/holesky/wallets` with the name
`wally`. It is encrypted using the password defined in the
`wally.pass` file.

During the wallet creation process, a 24-word mnemonic will be displayed. Record the mnemonic because it allows you to recreate the files in the case of data loss.
> Notes:
>
> - When navigating to the directory `~/.lighthouse/goerli/wallets`, one will not see the wallet name `wally`, but a hexadecimal folder containing the wallet file. However, when interacting with `lighthouse` in the CLI, the name `wally` will be used.
> - When navigating to the directory `~/.lighthouse/holesky/wallets`, one will not see the wallet name `wally`, but a hexadecimal folder containing the wallet file. However, when interacting with `lighthouse` in the CLI, the name `wally` will be used.
> - The password is not `wally.pass`, it is the _content_ of the
> `wally.pass` file.
> - If `wally.pass` already exists, the wallet password will be set to the content
Expand All @@ -100,18 +100,18 @@ During the wallet creation process, a 24-word mnemonic will be displayed. Record
Validators are fundamentally represented by a BLS keypair. In Lighthouse, we use a wallet to generate these keypairs. Once a wallet exists, the `lighthouse account validator create` command can be used to generate the BLS keypair and all necessary information to submit a validator deposit. With the `wally` wallet created in [Step 1](#step-1-create-a-wallet-and-record-the-mnemonic), we can create a validator with the command:

```bash
lighthouse --network goerli account validator create --wallet-name wally --wallet-password wally.pass --count 1
lighthouse --network holesky account validator create --wallet-name wally --wallet-password wally.pass --count 1
```

This command will:

- Derive a single new BLS keypair from wallet `wally` in `~/.lighthouse/goerli/wallets`, updating it so that it generates a new key next time.
- Create a new directory `~/.lighthouse/goerli/validators` containing:
- Derive a single new BLS keypair from wallet `wally` in `~/.lighthouse/holesky/wallets`, updating it so that it generates a new key next time.
- Create a new directory `~/.lighthouse/holesky/validators` containing:
- An encrypted keystore file `voting-keystore.json` containing the validator's voting keypair.
- An `eth1_deposit_data.rlp` assuming the default deposit amount (`32 ETH`) which can be submitted to the deposit
contract for the Goerli testnet. Other networks can be set via the
`--network` parameter.
- Create a new directory `~/.lighthouse/goerli/secrets` which stores a password to the validator's voting keypair.
- Create a new directory `~/.lighthouse/holesky/secrets` which stores a password to the validator's voting keypair.

If you want to create another validator in the future, repeat [Step 2](#step-2-create-a-validator). The wallet keeps track of how many validators it has generated and ensures that a new validator is generated each time. The important thing is to keep the 24-word mnemonic safe so that it can be used to generate new validator keys if needed.

Expand Down
1 change: 0 additions & 1 deletion book/src/merge-migration.md
Original file line number Diff line number Diff line change
Expand Up @@ -209,4 +209,3 @@ guidance for specific setups.
- [Ethereum Staking Launchpad: Merge Readiness](https://launchpad.ethereum.org/en/merge-readiness).
- [CoinCashew: Ethereum Merge Upgrade Checklist](https://www.coincashew.com/coins/overview-eth/archived-guides/ethereum-merge-upgrade-checklist-for-home-stakers-and-validators)
- [EthDocker: Merge Preparation](https://eth-docker.net/About/MergePrep/)
- [Remy Roy: How to join the Goerli/Prater merge testnet](https://github.com/remyroy/ethstaker/blob/main/merge-goerli-prater.md)
4 changes: 2 additions & 2 deletions book/src/voluntary-exit.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ Below is an example for initiating a voluntary exit on the Holesky testnet.
```
$ lighthouse --network holesky account validator exit --keystore /path/to/keystore --beacon-node http://localhost:5052
Running account manager for Prater network
Running account manager for Holesky network
validator-dir path: ~/.lighthouse/holesky/validators
Enter the keystore password for validator in 0xabcd
Expand Down Expand Up @@ -82,7 +82,7 @@ There are two types of withdrawal credentials, `0x00` and `0x01`. To check which
If your withdrawal credentials is of type `0x01`, it means you have set your withdrawal address previously, and you will not be able to change the withdrawal address.

### 3. When will my BTEC request (update withdrawal credentials to type `0x01`) be processed ?

Your BTEC request will be included very quickly as soon as a new block is proposed. This should be the case most (if not all) of the time, given that the peak BTEC request time has now past (right after the [Capella](https://ethereum.org/en/history/#capella) upgrade on 12<sup>th</sup> April 2023 and lasted for ~ 2 days) .

### 4. When will I get my staked fund after voluntary exit if my validator is of type `0x01`?
Expand Down
20 changes: 0 additions & 20 deletions common/eth2_config/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -284,26 +284,6 @@ define_hardcoded_nets!(
// Describes how the genesis state can be obtained.
GenesisStateSource::IncludedBytes
),
(
// Network name (must be unique among all networks).
prater,
// The name of the directory in the `eth2_network_config/built_in_network_configs`
// directory where the configuration files are located for this network.
"prater",
// Describes how the genesis state can be obtained.
GenesisStateSource::IncludedBytes
),
(
// Network name (must be unique among all networks).
goerli,
// The name of the directory in the `eth2_network_config/built_in_network_configs`
// directory where the configuration files are located for this network.
//
// The Goerli network is effectively an alias to Prater.
"prater",
// Describes how the genesis state can be obtained.
GenesisStateSource::IncludedBytes
),
(
// Network name (must be unique among all networks).
gnosis,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ PRESET_BASE: 'gnosis'
# Free-form short name of the network that this configuration applies to - known
# canonical network names include:
# * 'mainnet' - there can be only one
# * 'prater' - testnet
# * 'holesky' - testnet
# Must match the regex: [a-z0-9\-]
CONFIG_NAME: 'chiado'

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ PRESET_BASE: 'mainnet'
# Free-form short name of the network that this configuration applies to - known
# canonical network names include:
# * 'mainnet' - there can be only one
# * 'prater' - testnet
# * 'holesky' - testnet
# Must match the regex: [a-z0-9\-]
CONFIG_NAME: 'mainnet'

Expand Down

This file was deleted.

Loading

0 comments on commit 7f8b600

Please sign in to comment.