Skip to main content

Cli

sedge cli run the setup tool on an interactive mode.

Help

$ sedge cli -h
This command will guide you through the process of setting up one of these node types:

- Full Node (execution + consensus + validator)
- Full Node without Validator (execution + consensus)
- Execution Node
- Consensus Node
- Validator Node

Follow the prompts to select the options you want for your node. At the end of the process, you will
be asked to run the generated setup or not. If you chose to run the setup, it will be executed for you
using docker compose command behind the scenes.

Usage:
sedge cli [flags]

Flags:
-h, --help help for cli

Global Flags:
--log-level string Set Log Level, e.g panic, fatal, error, warn, warning, info, debug, trace (default "info")

Execution Example

As this is an interactive command, it will ask you a series of questions to set up your node. According to the answers, it will create a flow of questions and generate a docker-compose.yml and a .env file with the configuration you selected.

This is an example of what you can expect:

sedge cli
2023-03-20 21:54:08 -- [INFO] [Logger Init] Log level: info
2023-03-20 21:54:08 -- [INFO] You are running the latest version of sedge. Version: v1.3.2
? Select network goerli
? Select node type full-node
? Generation path /root/sedge-data
? Container tag, sedge will add to each container and the network, a suffix with the tag
? Do you want to set up a validator? Yes
? Enable MEV Boost? Yes
? Mev-Boost image flashbots/mev-boost:latest
? Insert relay URLs if you don't want to use the default values listed below Default values are listed below. (
https://0xafa4c6985aa049fb79dd37010438cfebeb0f2bd42b115b89dd678dab0670c1de38da0c4e9138c9290a398ecd9a0b3110@builder-relay-goerli.flashbots.net
https://0x821f2a65afb70e7f2e820a925a9b4c80a159620582c1766b1b09729fec178b11ea22abb3a51f07b288be815a1a2ff516@bloxroute.max-profit.builder.goerli.blxrbdn.com
? Insert relay URLs if you don't want to use the default values listed below Default values are listed below.

https://0xafa4c6985aa049fb79dd37010438cfebeb0f2bd42b115b89dd678dab0670c1de38da0c4e9138c9290a398ecd9a0b3110@builder-relay-goerli.flashbots.net
https://0x821f2a65afb70e7f2e820a925a9b4c80a159620582c1766b1b09729fec178b11ea22abb3a51f07b288be815a1a2ff516@bloxroute.max-profit.builder.goerli.blxrbdn.com
https://0x8f7b17a74569b7a57e9bdafd2e159380759f5dc3ccbd4bf600414147e8c4e1dc6ebada83c0139ac15850eb6c975e82d0@builder-relay-goerli.blocknative.com
https://0xb1d229d9c21298a87846c7022ebeef277dfc321fe674fa45312e20b5b6c400bfde9383f801848d7837ed5fc449083a12@relay-goerli.edennetwork.io
https://0xb1559beef7b5ba3127485bbbb090362d9f497ba64e177ee2c8e7db74746306efad687f2cf8574e38d70067d40ef136dc@relay-stag.ultrasound.money

? Select execution client nethermind
? Select consensus client prysm
? Select validator client prysm
? Validator grace period. This is the number of epochs the validator will wait for security reasons before starting 2
? Graffiti to be used by the validator (press enter to skip it) neth-prysm
? Checkpoint sync URL https://goerli.checkpoint-sync.ethpandaops.io
? Please enter the Fee Recipient address 0xEf8801eaf234ff82801821FFe2d78D60a0237F97
? Do you want to expose all ports? No
? Select JWT source create
2023-03-20 21:54:51 -- [INFO] Generating JWT secret for client authentication
2023-03-20 21:54:51 -- [INFO] JWT secret generated
2023-03-20 21:54:51 -- [INFO] Generating docker-compose script for current selection of clients
2023-03-20 21:54:51 -- [INFO] Generated docker-compose script for current selection of clients
2023-03-20 21:54:51 -- [INFO] Generating environment file for current selection of clients
2023-03-20 21:54:51 -- [INFO] Generated environment file for current selection of clients
2023-03-20 21:54:51 -- [INFO] Cleaning generated docker-compose and environment files
2023-03-20 21:54:51 -- [INFO] Cleaned generated files
? Select keystore source create
? Select mnemonic source create
? Select passphrase source random
? Withdrawal address 0xB26FCB9D0bf72F881dCfa9E4Eb3B23fB75Ae9A15
? Number of validators 20
? Existing validators. This number will be used as the initial index for the generated keystores. 3
2023-03-20 21:55:12 -- [INFO] Generating keystores...
2023-03-20 21:55:12 -- [INFO] Keystores generated successfully
2023-03-20 21:55:13 -- [INFO] Importing validator keys into the validator client...
2023-03-20 21:55:13 -- [INFO] Setting up containers
2023-03-20 21:55:13 -- [INFO] Running command: docker compose -f /root/sedge-data/docker-compose.yml build validator
2023-03-20 21:55:13 -- [INFO] Running command: docker compose -f /root/sedge-data/docker-compose.yml pull validator
[+] Running 1/1
⠿ validator Pulled 0.5s
2023-03-20 21:55:13 -- [INFO] Running command: docker compose -f /root/sedge-data/docker-compose.yml create validator
[+] Running 2/0
⠿ Container sedge-validator-blocker Created 0.0s
⠿ Container sedge-validator-client Created 0.0s
2023-03-20 21:55:13 -- [INFO] Importing validator keys
2023-03-20 21:55:13 -- [INFO] The keys import container is starting
2023-03-20 21:55:17 -- [INFO] Validator keys imported successfully
? Interchange slashing protection file path slashing_protection.json
2023-03-20 21:55:43 -- [INFO] Importing slashing data to client prysm from /root/slashing_protection.json
2023-03-20 21:55:43 -- [INFO] The slashing protection container is starting...
2023-03-20 21:55:43 -- [INFO] The slashing container ends successfully.
? Run services now? No
2023-03-20 21:55:48 -- [INFO]
Your setup is ready. You can run it anytime using the 'sedge run --path /root/sedge-data' command. Feel free to explore the files and make changes, although Sedge is not accountable for any misbehavior or issue caused by any modification done to the setup. Stay tuned for more updates and features!

Happy Sedging!