Layer DevNet provides a comprehensive suite of scripts and Docker files designed for the seamless configuration of an Ethereum node. This toolkit directly supports the Eigenlayer SideCar, allowing it to operate concurrently with the Ethereum node. By facilitating this parallel operation, Layer DevNet enables efficient testing and deployment of various Eigenlayer projects, including the SideCar itself. This setup streamlines the development process and enhances the overall functionality and integration of Eigenlayer technologies.
These scripts work well on the latest version of Docker
- Docker
1. Copy env.example
to .env
Make a note especially of DATA_VOLUME variable and make sure this points at the local storage or data volume intended
2. Set VALIDATOR_SECRET to the password for the validator account
3. build the setup profile
$ docker compose --profile setup build
4. execute the setup profile to create the genesis files This will store the genesis files for the environment in the appropriate locations.
$ docker compose --profile setup run create-beacon-chain-genesis
1. Clean existing docker installation
$ docker compose down --volumes
2. Build container system
$ docker compose build
3. Bootstrap system
$ docker compose up
RPC_URL=http://localhost:8545
1. Create remote context for EC2
$ docker context create devnet-remote --docker "host=ssh://[email protected]"
2. Clean existing docker installation
$ docker -c devnet-remote compose down --volumes
3. Build container system
$ docker -c devnet-remote compose build
4. Bootstrap system
Check the environment variable DATA_VOLUME
. Make sure this is set to the location of the storage on the remote context. For example DATA_VOLUME=/storage
$ docker -c devnet-remote compose up -d
5. Check services on the remote system
$ docker -c devenet-remote ps
6. Follow the logs on the remote context
$ docker compose -c devnet-remote logs -f
1. Create docker context for ECS
$ docker context create ecs layr-devnet-ecs
Account | Name | Funds | Description |
---|---|---|---|
0x6DB1F3F7a368d5895256A5BA0bdB84d2a6C3bFF7 | Validator Account | 20000 ETH | Suggested fee recipient |
0xbb422b2e8cac43a908764a8d3d225392c8e855a9 | Faucet Account | 20000 ETH | used to distribute funds for testing |
0x4a3Ee341f8ceEdB790F511A18899fBC1fdEb35af | Deployer Account | 100 ETH | deployer admin used for deployments |
Test that the beacon node is running
curl http://localhost:3500/eth/v1/beacon/genesis
Test that the geth node is running
curl http://localhost:8545 -X POST -H "Content-Type: application/json" --data '{"method":"eth_chainId","params":[],"id":1,"jsonrpc":"2.0"}'