Created
June 30, 2022 18:04
-
-
Save kuzdogan/5003b1eb6411202e3cf3ea2b06cf22a6 to your computer and use it in GitHub Desktop.
Ethereum Sepolia Testnet PoS (Merge) Execution and Consensus Client setting with docker compose. Uses go-ethereum (geth) as the execution client and Lodestar as the consensus client.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
version: "3.8" | |
services: | |
execution: | |
image: ethereum/client-go:v1.10.20 | |
container_name: geth-sepolia | |
# --http.addr and --authrpc.addr 0.0.0.0 to listen on all interfaces and not just localhost. Localhost wouldn't work with containers as they have differt ip's. | |
# add container name "geth-sepolia" to accepted --http.vhosts and --authrpc.vhosts | |
# geth v1.10.20 already has terminaltotaldifficulty (TTD) built-in but leaving for networks that need explicit stating. | |
# geth will open the authrpc and create a jwt if it detects merge i.e. TTD | |
command: | | |
--syncmode full --snapshot=false --sepolia --http --http.api engine,personal,eth,net,web3 | |
--http.addr 0.0.0.0 --http.corsdomain '*' --http.vhosts "localhost,geth-sepolia" | |
--override.terminaltotaldifficulty 17000000000000000 --authrpc.vhosts "localhost,geth-sepolia" | |
--authrpc.jwtsecret /root/.ethereum/sepolia/geth/jwtsecret --authrpc.addr 0.0.0.0 | |
ports: # Set the port you want to access the execution client RPC on your host. Here 8546 | |
- "8546:8545" | |
volumes: # You might have to mkdir ~/.ethereum | |
- type: bind | |
source: ~/.ethereum | |
target: /root/.ethereum | |
networks: | |
- geth | |
stop_grace_period: 3m # long grace period to avoid unclean shutdown | |
restart: always | |
consensus: | |
image: chainsafe/lodestar:v0.38.1 | |
container_name: lodestar-sepolia | |
# Shares the same root folder with geth. Can easily share the jwtsecret | |
# execution.urls i.e. engine API, authrpc... The connection to the execution client | |
# eth1.providerUrls for the execution JSON-RPC | |
command: | | |
beacon --network sepolia --rootDir /root/.ethereum --terminal-total-difficulty-override "17000000000000000" | |
--execution.urls http://geth-sepolia:8551 --eth1.providerUrls http://geth-sepolia:8545 --jwt-secret /root/.ethereum/sepolia/geth/jwtsecret | |
ports: | |
- "9596:9596" | |
volumes: | |
- type: bind | |
source: ~/.ethereum | |
target: /root/.ethereum | |
networks: | |
- geth | |
stop_grace_period: 3m | |
restart: always | |
networks: | |
geth: | |
volumes: | |
sepolia: |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment