A solo home staking setup for Ethereum.
There are other projects similar to this one that make the process of solo staking more turnkey. This is just a collection of scripts I use and is not meant to be general purpose.
- A Linux or macOS machine. Either arm64 or amd64 is fine.
- Docker: For containerized deployment.
- Just: A task runner.
- UV: For managing python projects.
- Git: For cloning and managing the repository.
- Make sure you have installed all the software in the requirements section.
- Populate a
.envfile file with the environment variables describing the setup. All variables are mandatory.STAKER_CHAIN_NAME: The chain name (mainnet,hoodi)STAKER_SUGGESTED_FEE_RECIPIENT_ADDRESS: The fee recipient to use when setting up the beacon chain.STAKER_DATA_DIR: The directory used by the containers to store their contents. If its a relative directory, it must start with "./".
An example .env file:
export STAKER_SUGGESTED_FEE_RECIPIENT_ADDRESS=<your_recipient_address>
export STAKER_CHAIN_NAME=hoodi
export STAKER_DATA_DIR=./datajust launch: Builds docker images and launches the containers.
- Use compounding accounts (0x02 type) for validators.
- Use execution-layer initiated withdrawals (added with EIP-7002 in Pectra) instead of initiating them via a voluntary broadcast message from a validator.
- There must be a 27.3 hour gap between activation and exit. This may cause some head scratching when testing on a testnet.