Skip to main content

Sedge

Sedge is a one-click setup tool for PoS network/chain validators and nodes. It takes care of the entire on-premise full node setup based on the chosen client, using generated docker-compose scripts based on the desired configuration.

Full Node Setup

Video Guide

Install Sedge

Go to the Sedge docs and run the installation command:

bash <(curl -fsSL https://github.com/NethermindEth/sedge/raw/main/scripts/install.sh)

Then check and install dependencies:

# Check dependencies
sedge deps check

# Install dependencies
sedge deps install

Interactive Setup

For convenience, we will be using Sedge's interactive mode to run Sedge:

sedge cli

Follow the terminal UI prompts to:

  1. Choose lido-nodeMainnet or Hoodifull-node and accept (or customize) the path.
  2. Set the container tag (e.g. lido-setup) and choose yes to set up a validator, selecting the default MEV-Boost image.
  3. Select execution, consensus, and validator clients (or randomize).
  4. Set validator grace period to 1 and graffiti to anything of your liking, like lidoiscool.
  5. Use default Checkpoint Sync and No for expose all ports.
  6. Choose Create for JWT Source and yes for the monitoring stack.

Generate & Import Validator Keys

If you're going through testnet, in the prompts, choose to generate keystore source, mnemonic source (backup your seed), and passphrase. Specify the number of keys and initial index.

Then copy deposit data for the CSM widget:

cat ~/sedge-data/keystore/deposit_data.json

If you're ready to set up your validators on Mainnet, use a secure workflow in the Key Generation for Mainnet guide.

To import the keys, run:

sedge import-key --from `path-to-keys` -n `network` --start-validator `name-of-validator-client`

This will copy the keys from the specified path, ensure are set to the correct network, and help Sedge know how to import them based on the used client.

Address Tabs

Sometimes the validator import container exits with an error. If that happens, run:

sedge run

Monitor your setup

View logs (all services):

sedge logs --tail 20

View logs per service:

sedge logs <service> --tail 20

Services include: execution, mev-boost, consensus, validator.

Check Node Operator status:

sedge lido-status <reward-address>

Flags:

  • --network <mainnet|hoodi>
  • --NodeID <operator-id>

Grafana Dashboards & Monitoring:

sedge monitoring init lido --node-operator-id <id> --network <mainnet or hoodi>

This will install Grafana, Prometheus, Node Exporter, and Lido Exporter with CSM dashboards. Access at INTERNAL_IP:3000.

Keep your clients up to date

To keep your clients and other packages up to date for network upgrades, security releases or minor improvements please follow this guide.