Welcome to the ethstaker-deposit-cli
!
The ethstaker-deposit-cli
is a command-line tool forked from Ethereum's staking-deposit-cli
with more functionality and improved performance.
Important Concerns
This tool generates and/or utilizes mnemonics and validator key material. Both are highly sensitive materials, and their exposure could lead to the loss or theft of funds, as well as the compromise of privacy. Users must take appropriate measures to secure this information.
Here are some core recommendations:
-
Use this tool offline: We highly recommend using this tool in an offline environment, preferably air-gapped, using a live USB such as Tails.
-
Avoid using passwords or mnemonics as command line arguments: When executing any command, you will be prompted for the necessary arguments. This prevents the arguments from being stored in your command history which could create an attack vector.
-
Do not expose or share any material: This tool generates and uses critically secure material that should not be shared or exposed. There is an abundance of thieves that use malicious links and scam tactics to get you to expose sensitive material. Be sure to triple check any tools or websites you are using and remain vigilant.
-
Create backups of your mnemonic: The mnemonic generated by this tool is essential for your operation and success as a validator. Losing this mnemonic can result in significant financial loss. Carefully follow the instructions when creating a mnemonic, ensure you make a backup copy, and store it in a secure location. For long-term protection, consider using products like CryptoSteel and ColdTi, which offer resistance to the elements.
Getting Started
If you want to start creating validator keys, please follow the Quick Setup Instructions or if you would like to run locally, view the Local Development Instructions.
The general usage of the CLI is:
./deposit [OPTIONS] COMMAND [ARGS]
Command Options
Each CLI command has a number of command options that can be provided:
-
--language
: The language you wish to use the CLI in. Options: العربية, ελληνικά, English, Français, Bahasa melayu, Italiano, 日本語, 한국어, Português do Brasil, român, 简体中文. Default to English. -
--non_interactive
: Run CLI in non-interactive mode. This will skip all confirmation and internet connectivity checks. -
--ignore_connectivity
: Skip internet connectivity check and warning.
Commands
You are not required to specify each argument when executing the command. We will prompt you for each argument for security purposes.
If there is a specific command you would like to understand more, please choose from the following list:
-
new-mnemonic: Used to generate a new mnemonic, validator keys, and deposit file. It is not recommended to use this command if you have existing validators.
-
existing-mnemonic: Provide a mnemonic to regenerate validator keys or create new ones.
-
generate-bls-to-execution-change: Add a withdrawal address to a validator that does not currently have one. It is required to have the corresponding mnemonic.
-
generate-bls-to-execution-change-keystore: Sign an update withdrawal credentials message using your validator keystore.
-
exit-transaction-keystore: Generate an exit message using the keystore of your validators.
-
exit-transaction-mnemonic: Generate an exit message using the mnemonic of your validators.
-
partial-deposit: Generate a deposit file with an existing validator key. Can be used to initiate a validator or deposit to an existing validator.
-
test-keystore: Verify access to the provided keystore file by attempting to decrypt with the provided keystore password.
Canonical Deposit Contract and Launchpad
Ethstaker confirms the canonical Ethereum staking deposit contract addresses and launchpad URLs. Please be sure that your ETH is deposited only to this deposit contract address, depending on chain.
Depositing to the wrong address will lose you your ETH.
- Ethereum mainnet
- Deposit address: 0x00000000219ab540356cBB839Cbe05303d7705Fa
- Launchpad
- Ethereum Holešky (Holešovice) testnet
- Deposit address: 0x4242424242424242424242424242424242424242
- Launchpad
Contributing
This project is open-source and welcomes contributions from the community. If you would like to contribute to the ethstaker-deposit-cli
, please read the Local Development Instructions, fork the project, and create a pull request with a description of the changes you have made and why.
Support
If you encounter any issues or have questions while using the ethstaker-deposit-cli
, please contact us on the Ethstaker discord.