diff --git a/account_manager/src/validator/import.rs b/account_manager/src/validator/import.rs index 4d2353b553..b985484d11 100644 --- a/account_manager/src/validator/import.rs +++ b/account_manager/src/validator/import.rs @@ -32,7 +32,7 @@ pub fn cli_app() -> Command { .about( "Imports one or more EIP-2335 passwords into a Lighthouse VC directory, \ requesting passwords interactively. The directory flag provides a convenient \ - method for importing a directory of keys generated by the eth2-deposit-cli \ + method for importing a directory of keys generated by the ethstaker-deposit-cli \ Python utility.", ) .arg( diff --git a/book/src/archived_key_management.md b/book/src/archived_key_management.md index d8b00e8352..ad285ac4ec 100644 --- a/book/src/archived_key_management.md +++ b/book/src/archived_key_management.md @@ -21,7 +21,7 @@ using Lighthouse. Rather than continuing to read this page, we recommend users visit either: - The [Staking Launchpad][launchpad] for detailed, beginner-friendly instructions. -- The [staking-deposit-cli](https://github.com/ethereum/staking-deposit-cli) for a CLI tool used by the [Staking Launchpad][launchpad]. +- The [ethstaker-deposit-cli](https://github.com/eth-educators/ethstaker-deposit-cli/releases) for a CLI tool used by the [Staking Launchpad][launchpad]. - The [validator-manager documentation](./validator_manager.md) for a Lighthouse-specific tool for streamlined validator management tools. ## The `lighthouse account-manager` diff --git a/book/src/faq.md b/book/src/faq.md index b97a82fcca..27726e59a5 100644 --- a/book/src/faq.md +++ b/book/src/faq.md @@ -209,7 +209,7 @@ The first thing is to ensure both consensus and execution clients are synced wit - the internet is working well - you have sufficient peers -You can see more information on the [Ethstaker KB](https://ethstaker.gitbook.io/ethstaker-knowledge-base/help/missed-attestations). +You can see more information on the [EthStaker KB](https://ethstaker.gitbook.io/ethstaker-knowledge-base/help/missed-attestations). Another cause for missing attestations is the block arriving late, or there are delays during block processing. diff --git a/book/src/help_vm.md b/book/src/help_vm.md index 85e1a1168f..8ff54122ef 100644 --- a/book/src/help_vm.md +++ b/book/src/help_vm.md @@ -12,7 +12,7 @@ Commands: data. This file can then be imported to a validator client using the "import-validators" command. Another, optional JSON file is created which contains a list of validator deposits in the same format as the - "ethereum/staking-deposit-cli" tool. + "ethstaker-deposit-cli" tool. import Uploads validators to a validator client using the HTTP API. The validators are defined in a JSON file which can be generated using the diff --git a/book/src/help_vm_create.md b/book/src/help_vm_create.md index 3b88206397..96ae261252 100644 --- a/book/src/help_vm_create.md +++ b/book/src/help_vm_create.md @@ -5,7 +5,7 @@ Creates new validators from BIP-39 mnemonic. A JSON file will be created which contains all the validator keystores and other validator data. This file can then be imported to a validator client using the "import-validators" command. Another, optional JSON file is created which contains a list of validator -deposits in the same format as the "ethereum/staking-deposit-cli" tool. +deposits in the same format as the "ethstaker-deposit-cli" tool. Usage: lighthouse validator_manager create [OPTIONS] --output-path diff --git a/book/src/help_vm_import.md b/book/src/help_vm_import.md index 63cca91ee5..ca635be5f1 100644 --- a/book/src/help_vm_import.md +++ b/book/src/help_vm_import.md @@ -39,8 +39,7 @@ Options: [default: 300] --keystore-file The path to a keystore JSON file to be imported to the validator - client. This file is usually created using staking-deposit-cli or - ethstaker-deposit-cli + client. This file is usually created using ethstaker-deposit-cli --log-format Specifies the log format used when emitting logs to the terminal. [possible values: JSON] diff --git a/book/src/installation_homebrew.md b/book/src/installation_homebrew.md index f94764889e..9d33bfb3eb 100644 --- a/book/src/installation_homebrew.md +++ b/book/src/installation_homebrew.md @@ -5,6 +5,9 @@ Lighthouse is available on Linux and macOS via the [Homebrew package manager](ht Please note that this installation method is maintained by the Homebrew community. It is not officially supported by the Lighthouse team. +> Note: There is a [compilation error](https://github.com/Homebrew/homebrew-core/pull/220922) for Lighthouse v7.0.0 and above that remains unresolved. Users are recommended to download the binary from [the release +page](https://github.com/sigp/lighthouse/releases) or build from source. + ## Installation Install the latest version of the [`lighthouse`][formula] formula with: diff --git a/book/src/mainnet_validator.md b/book/src/mainnet_validator.md index 8da8b98f89..106461aa9b 100644 --- a/book/src/mainnet_validator.md +++ b/book/src/mainnet_validator.md @@ -42,7 +42,7 @@ hardware. 32 ETH is a significant outlay and joining a testnet is a great way to ### Step 1. Create validator keys -The Ethereum Foundation provides the [staking-deposit-cli](https://github.com/ethereum/staking-deposit-cli/releases) for creating validator keys. Download and run the `staking-deposit-cli` with the command: +EthStaker provides the [ethstaker-deposit-cli](https://github.com/eth-educators/ethstaker-deposit-cli/releases) for creating validator keys. Download and run the `ethstaker-deposit-cli` with the command: ```bash ./deposit new-mnemonic @@ -52,7 +52,7 @@ and follow the instructions to generate the keys. When prompted for a network, s > **Important note:** A mnemonic (or seed phrase) is a 24-word string randomly generated in the process. It is highly recommended to write down the mnemonic and keep it safe offline. It is important to ensure that the mnemonic is never stored in any digital form (computers, mobile phones, etc) connected to the internet. Please also make one or more backups of the mnemonic to ensure your ETH is not lost in the case of data loss. It is very important to keep your mnemonic private as it represents the ultimate control of your ETH. -Upon completing this step, the files `deposit_data-*.json` and `keystore-m_*.json` will be created. The keys that are generated from staking-deposit-cli can be easily loaded into a Lighthouse validator client (`lighthouse vc`) in [Step 3](#step-3-import-validator-keys-to-lighthouse). In fact, both of these programs are designed to work with each other. +Upon completing this step, the files `deposit_data-*.json` and `keystore-m_*.json` will be created. The keys that are generated from `ethstaker-deposit-cli` can be easily loaded into a Lighthouse validator client (`lighthouse vc`) in [Step 3](#step-3-import-validator-keys-to-lighthouse). In fact, both of these programs are designed to work with each other. > Lighthouse also supports creating validator keys, see [Validator Manager Create](./validator_manager_create.md) for more info. @@ -62,19 +62,19 @@ Start an execution client and Lighthouse beacon node according to the [Run a Nod ### Step 3. Import validator keys to Lighthouse -In [Step 1](#step-1-create-validator-keys), the staking-deposit-cli will generate the validator keys into a `validator_keys` directory. Let's assume that -this directory is `$HOME/staking-deposit-cli/validator_keys`. Using the default `validators` directory in Lighthouse (`~/.lighthouse/mainnet/validators`), run the following command to import validator keys: +In [Step 1](#step-1-create-validator-keys), the `ethstaker-deposit-cli` will generate the validator keys into a `validator_keys` directory. Let's assume that +this directory is `$HOME/ethstaker-deposit-cli/validator_keys`. Using the default `validators` directory in Lighthouse (`~/.lighthouse/mainnet/validators`), run the following command to import validator keys: Mainnet: ```bash -lighthouse --network mainnet account validator import --directory $HOME/staking-deposit-cli/validator_keys +lighthouse --network mainnet account validator import --directory $HOME/ethstaker-deposit-cli/validator_keys ``` Hoodi testnet: ```bash -lighthouse --network hoodi account validator import --directory $HOME/staking-deposit-cli/validator_keys +lighthouse --network hoodi account validator import --directory $HOME/ethstaker-deposit-cli/validator_keys ``` > Note: The user must specify the consensus client network that they are importing the keys by using the `--network` flag. @@ -88,7 +88,7 @@ lighthouse --network hoodi account validator import --directory $HOME/staking-de The user will be prompted for a password for each keystore discovered: ``` -Keystore found at "/home/{username}/staking-deposit-cli/validator_keys/keystore-m_12381_3600_0_0_0-1595406747.json": +Keystore found at "/home/{username}/ethstaker-deposit-cli/validator_keys/keystore-m_12381_3600_0_0_0-1595406747.json": - Public key: 0xa5e8702533f6d66422e042a0bf3471ab9b302ce115633fa6fdc5643f804b6b4f1c33baf95f125ec21969a3b1e0dd9e56 - UUID: 8ea4cf99-8719-43c5-9eda-e97b8a4e074f diff --git a/book/src/validator_manager.md b/book/src/validator_manager.md index c610340b39..b0190c1812 100644 --- a/book/src/validator_manager.md +++ b/book/src/validator_manager.md @@ -15,7 +15,7 @@ except the latter creates files that will be read by the VC next time it starts whilst the former makes instant changes to a live VC. The `account-manager` is ideal for importing keys created with the -[staking-deposit-cli](https://github.com/ethereum/staking-deposit-cli). On the +[ethstaker-deposit-cli](https://github.com/eth-educators/ethstaker-deposit-cli). On the other hand, the `validator-manager` is ideal for moving existing validators between two VCs or for advanced users to create validators at scale with less downtime. diff --git a/book/src/validator_manager_api.md b/book/src/validator_manager_api.md index a5fc69fd5a..7bc5be8557 100644 --- a/book/src/validator_manager_api.md +++ b/book/src/validator_manager_api.md @@ -1,6 +1,6 @@ # Managing Validators -The `lighthouse validator-manager` uses the [Keymanager API](https://ethereum.github.io/keymanager-APIs/#/) to list, import and delete keystores via the HTTP API. This requires the validator client running with the flag `--http`. +The `lighthouse validator-manager` uses the [Keymanager API](https://ethereum.github.io/keymanager-APIs/#/) to list, import and delete keystores via the HTTP API. This requires the validator client running with the flag `--http`. By default, the validator client HTTP address is `http://localhost:5062`. If a different IP address or port is used, add the flag `--vc-url http://IP:port_number` to the command below. ## Delete @@ -18,7 +18,7 @@ lighthouse vm delete --vc-token ~/.lighthouse/mainnet/validators/api-token.txt - ## Import -The `import` command imports validator keystores generated by the staking-deposit-cli/ethstaker-deposit-cli. To import a validator keystore: +The `import` command imports validator keystores generated by the `ethstaker-deposit-cli`. To import a validator keystore: ```bash lighthouse vm import --vc-token --keystore-file /path/to/json --password keystore_password diff --git a/book/src/validator_manager_create.md b/book/src/validator_manager_create.md index 458907bc65..ae40910d5c 100644 --- a/book/src/validator_manager_create.md +++ b/book/src/validator_manager_create.md @@ -8,7 +8,7 @@ mnemonic and produces two files: - `validators.json`: the keystores and passwords for the newly generated validators, in JSON format. - `deposits.json`: a JSON file of the same format as - [staking-deposit-cli](https://github.com/ethereum/staking-deposit-cli) which can + [ethstaker-deposit-cli](https://github.com/eth-educators/ethstaker-deposit-cli) which can be used for deposit submission via the [Ethereum Staking Launchpad][]. @@ -69,7 +69,7 @@ lighthouse \ > Be sure to remove `./validators.json` after the import is successful since it > contains unencrypted validator keystores. -> Note: To import validators with validator-manager using keystore files created using the staking deposit CLI, refer to [Managing Validators](./validator_manager_api.md#import). +> Note: To import validators with validator-manager using keystore files created using the `ethstaker-deposit-cli`, refer to [Managing Validators](./validator_manager_api.md#import). ## Detailed Guide diff --git a/book/src/validator_slashing_protection.md b/book/src/validator_slashing_protection.md index 3e0fe184e5..03e54e5827 100644 --- a/book/src/validator_slashing_protection.md +++ b/book/src/validator_slashing_protection.md @@ -21,7 +21,7 @@ and carefully to keep your validators safe. See the [Troubleshooting](#troublesh The database will be automatically created, and your validators registered with it when: -* Importing keys from another source (e.g. [staking-deposit-cli](https://github.com/ethereum/staking-deposit-cli/releases), Lodestar, Nimbus, Prysm, Teku, [ethdo](https://github.com/wealdtech/ethdo)). +* Importing keys from another source (e.g. [ethstaker-deposit-cli](https://github.com/eth-educators/ethstaker-deposit-cli), Lodestar, Nimbus, Prysm, Teku, [ethdo](https://github.com/wealdtech/ethdo)). See [import validator keys](./mainnet_validator.md#step-3-import-validator-keys-to-lighthouse). * Creating keys using Lighthouse itself (`lighthouse account validator create`) * Creating keys via the [validator client API](./api_vc.md). diff --git a/book/src/validator_voluntary_exit.md b/book/src/validator_voluntary_exit.md index d5d1722d59..2a45852f32 100644 --- a/book/src/validator_voluntary_exit.md +++ b/book/src/validator_voluntary_exit.md @@ -94,7 +94,7 @@ After the [Capella](https://ethereum.org/en/history/#capella) upgrade on 12 There are two types of withdrawal credentials, `0x00` and `0x01`. To check which type your validator has, go to [Staking launchpad](https://launchpad.ethereum.org/en/withdrawals), enter your validator index and click `verify on mainnet`: - `withdrawals enabled` means your validator is of type `0x01`, and you will automatically receive the full withdrawal to the withdrawal address that you set. -- `withdrawals not enabled` means your validator is of type `0x00`, and will need to update your withdrawal credentials from `0x00` type to `0x01` type (also known as BLS-to-execution-change, or BTEC) to receive the staked funds. The common way to do this is using `Staking deposit CLI` or `ethdo`, with the instructions available [here](https://launchpad.ethereum.org/en/withdrawals#update-your-keys). +- `withdrawals not enabled` means your validator is of type `0x00`, and will need to update your withdrawal credentials from `0x00` type to `0x01` type (also known as BLS-to-execution-change, or BTEC) to receive the staked funds. The common way to do this is using `ethstaker-deposit-cli` or `ethdo`, with the instructions available [here](https://launchpad.ethereum.org/en/withdrawals#update-your-keys). ### 2. What if my validator is of type `0x00` and I do not update my withdrawal credentials after I initiated a voluntary exit? diff --git a/common/account_utils/src/validator_definitions.rs b/common/account_utils/src/validator_definitions.rs index 4c253283fe..5f32645c92 100644 --- a/common/account_utils/src/validator_definitions.rs +++ b/common/account_utils/src/validator_definitions.rs @@ -450,11 +450,11 @@ pub fn is_voting_keystore(file_name: &str) -> bool { return true; } - // The format exported by the `eth2.0-deposit-cli` library. + // The format exported by the `ethstaker-deposit-cli` library. // // Reference to function that generates keystores: // - // https://github.com/ethereum/eth2.0-deposit-cli/blob/7cebff15eac299b3b1b090c896dd3410c8463450/eth2deposit/credentials.py#L58-L62 + // https://github.com/eth-educators/ethstaker-deposit-cli/blob/80d536374de838ccae142974ed0e747b46beb030/ethstaker_deposit/credentials.py#L186-L190 // // Since we include the key derivation path of `m/12381/3600/x/0/0` this should only ever match // with a voting keystore and never a withdrawal keystore. diff --git a/validator_manager/src/common.rs b/validator_manager/src/common.rs index cc4157990f..715f1068f0 100644 --- a/validator_manager/src/common.rs +++ b/validator_manager/src/common.rs @@ -19,9 +19,9 @@ use zeroize::Zeroizing; pub const IGNORE_DUPLICATES_FLAG: &str = "ignore-duplicates"; pub const COUNT_FLAG: &str = "count"; -/// When the `ethereum/staking-deposit-cli` tool generates deposit data JSON, it adds a +/// When the `ethstaker-deposit-cli` tool generates deposit data JSON, it adds a /// `deposit_cli_version` to protect the web-based "Launchpad" tool against a breaking change that -/// was introduced in `ethereum/staking-deposit-cli`. Lighthouse don't really have a version that it +/// was introduced in `ethstaker-deposit-cli`. Lighthouse don't really have a version that it /// can use here, so we choose a static string that is: /// /// 1. High enough that it's accepted by Launchpad. @@ -163,12 +163,12 @@ pub struct CreateSpec { pub validators: Vec, } -/// The structure generated by the `staking-deposit-cli` which has become a quasi-standard for +/// The structure generated by the `ethstaker-deposit-cli` which has become a quasi-standard for /// browser-based deposit submission tools (e.g., the Ethereum Launchpad and Lido). /// /// We assume this code as the canonical definition: /// -/// https://github.com/ethereum/staking-deposit-cli/blob/76ed78224fdfe3daca788d12442b3d1a37978296/staking_deposit/credentials.py#L131-L144 +/// https://github.com/eth-educators/ethstaker-deposit-cli/blob/80d536374de838ccae142974ed0e747b46beb030/ethstaker_deposit/credentials.py#L164-L177 #[derive(Debug, PartialEq, Serialize, Deserialize)] pub struct StandardDepositDataJson { #[serde(with = "public_key_bytes_without_0x_prefix")] diff --git a/validator_manager/src/create_validators.rs b/validator_manager/src/create_validators.rs index 07578033cd..c21ebeabf8 100644 --- a/validator_manager/src/create_validators.rs +++ b/validator_manager/src/create_validators.rs @@ -43,7 +43,7 @@ pub fn cli_app() -> Command { contains all the validator keystores and other validator data. This file can then \ be imported to a validator client using the \"import-validators\" command. \ Another, optional JSON file is created which contains a list of validator \ - deposits in the same format as the \"ethereum/staking-deposit-cli\" tool.", + deposits in the same format as the \"ethstaker-deposit-cli\" tool.", ) .arg( Arg::new(OUTPUT_PATH_FLAG) @@ -487,7 +487,7 @@ impl ValidatorsAndDeposits { }; // Create a JSON structure equivalent to the one generated by - // `ethereum/staking-deposit-cli`. + // `ethstaker-deposit-cli`. let json_deposit = StandardDepositDataJson::new( &voting_keypair, withdrawal_credentials.into(), diff --git a/validator_manager/src/import_validators.rs b/validator_manager/src/import_validators.rs index 63c7ca4596..6cfbf7b54e 100644 --- a/validator_manager/src/import_validators.rs +++ b/validator_manager/src/import_validators.rs @@ -55,7 +55,7 @@ pub fn cli_app() -> Command { .help( "The path to a keystore JSON file to be \ imported to the validator client. This file is usually created \ - using staking-deposit-cli or ethstaker-deposit-cli", + using ethstaker-deposit-cli", ) .action(ArgAction::Set) .display_order(0) diff --git a/validator_manager/test_vectors/generate.py b/validator_manager/test_vectors/generate.py index 8bf7f5f52d..45bb408eb1 100644 --- a/validator_manager/test_vectors/generate.py +++ b/validator_manager/test_vectors/generate.py @@ -1,4 +1,4 @@ -# This script uses the `ethereum/staking-deposit-cli` tool to generate +# This script uses the `ethstaker-deposit-cli` tool to generate # deposit data files which are then used for testing by Lighthouse. # # To generate vectors, run this Python script: @@ -6,7 +6,7 @@ # `python generate.py` # # This script was last run on Linux using Python v3.10.4. Python v3.11.0 was not working at time -# of writing due to dependency issues in `staking-deposit-cli`. You should probably use `pyenv` and +# of writing due to dependency issues in `ethstaker-deposit-cli`. You should probably use `pyenv` and # `virtualenv`. import os import sys @@ -23,7 +23,7 @@ WALLET_NAME="test_wallet" tmp_dir = os.path.join(".", "tmp") mnemonic_path = os.path.join(tmp_dir, "mnemonic.txt") sdc_dir = os.path.join(tmp_dir, "sdc") -sdc_git_dir = os.path.join(sdc_dir, "staking-deposit-cli") +sdc_git_dir = os.path.join(sdc_dir, "ethstaker-deposit-cli") vectors_dir = os.path.join(".", "vectors") @@ -59,7 +59,7 @@ def setup_sdc(): "git", "clone", "--single-branch", - "https://github.com/ethereum/staking-deposit-cli.git", + "https://github.com/eth-educators/ethstaker-deposit-cli.git", str(sdc_git_dir) ]) assert(result.returncode == 0) diff --git a/wordlist.txt b/wordlist.txt index e0d1afdf7c..3c7070c642 100644 --- a/wordlist.txt +++ b/wordlist.txt @@ -34,7 +34,7 @@ Esat's ETH EthDocker Ethereum -Ethstaker +EthStaker Exercism Extractable FFG