🦏
ETH Home Staking Collection
DVT Home Staking Curriculum
DVT Home Staking Curriculum
  • The DVT Home Staking Curriculum
  • Curriculum breakdown & timeline
  • Understanding ETH validators
    • Introduction to ETH Validators
    • Roles & Responsibilities of a node operator
    • Rewards and penalties
    • Importance of client diversity
    • Distributed Validator Technologies (DVTs)
    • Economics of using DVTs (WIP)
      • Diva Staking (WIP)
      • Obol (WIP)
      • SSV (WIP)
    • Bonded Validators
    • Economics of bonded validators (WIP)
  • Hardware & systems setup
    • Setup Overview
    • Hardware & system requirements
    • Procuring your hardware
    • Assemble your hardware
    • Practicing for free on Cloud VMs
      • Google Cloud
      • Alibaba Cloud
  • Linux OS, Networking, & Security
    • Install and prepare the OS
    • Networking & network security
    • Device level security setup
    • Verifying checksums
  • Installing & configuring your EL+CL clients
    • Set up and configure execution layer client
      • Nethermind
      • Besu
      • Geth
      • Erigon
      • Reth
    • Set up and configure consensus layer client
      • Teku BN
      • Nimbus BN
      • Lodestar BN
      • Lighthouse BN
      • Prysm BN
  • Keystore generation & MEV-Boost
    • Validator key generation
    • Set up and configure MEV-boost
  • Native Solo Staking Setup
    • Validator client setup
      • Teku VC
      • Nimbus VC
      • Lodestar VC
      • Lighthouse VC
      • Prysm VC
    • Depositing 32 ETH into your validator
    • Exiting your validator
  • Monitoring, Maintenance, and Updates
    • Set up monitoring suite
      • Installing & configuring Prometheus
      • Installing & configuring Node Exporter
      • Installing & configuring Grafana
      • Beaconcha.in App API
      • Client Uptime Check
    • Maintenance & Updates
      • Nethermind
      • Besu
      • Teku
      • Nimbus
      • Lodestar
      • Updating the monitoring suite
      • Preparing for Pectra
  • DVT Setup
    • Diva Staking
      • Diva Staking client setup
        • Default - All-in-one setup
        • Advanced - with standalone Lodestar VC
      • Registering your Diva node
      • Updating your Diva client
      • Monitoring your Diva Node
    • Obol
      • Techne Bronze Speedrun (Launchpad)
      • Obol + Bonded Validators (Techne Silver)
        • Obol + Lido CSM
    • SSV
      • SSV + Lido CSM (WIP)
      • SSV Operator
      • SSV Staker
  • Bonded Validators Setup
    • Lido CSM
      • Generating CSM keystores
      • Set Fee Recipient Address
        • Method 1: Configure on validator keys
        • Method 2: Configure on separate validator client
        • Verifying Fee Recipient Registered on MEV Relays
      • Upload/Remove/View validator keys
      • Rewards & bonds
      • Exiting CSM validators
        • "Lazy" exits (TESTNET ONLY)
        • Proper Exits
      • Role/Address management
      • Monitoring
      • Automations
        • CSM with ETHPillar
        • CSM with ETH Docker
        • CSM with Dappnode
    • Puffer
      • Non-Enclave: 2 ETH
    • Ether.fi
      • Receive distributed validator keyshares
    • Stader (WIP)
    • Rocketpool (WIP)
  • Liquid Staking Vaults
    • Stakewise V3
  • Mainnet
    • Mainnet Deployment
    • Heroglpyhs (WIP)
  • Best practices
    • Slashing prevention
    • Maximising uptime and performance
    • Optimising security
    • Managing your withdrawal wallet
  • Tips
    • Advanced networking
    • Downloading files from your node
  • Useful resources
    • General resources
    • Holesky Faucets
  • Automation/tools
    • ETHPillar
    • ETH Docker
    • Automated power on/off
      • Wake-on-LAN (WoL)
      • Network UPS Tools (NUT)
    • Validator Healthcheck Alerts
  • Solo Stakers Guild
    • Lido CSM+SSV+Obol (Testnet)
Powered by GitBook
On this page
  • Update automatically
  • Update manually
  • 1. Stop the current Diva client
  • 2. Backup the current Diva directory
  • 3. Download the new version
  • 4. Create a new .env file
  • 5. Edit the new .env file
  • 6. Migrate the data
  • 7. Preparing the docker compose file
  • 8. Prepare the Lodestar docker compose file
  • 9. Remove previous containers
  • 9. Run the new Diva containers
  1. DVT Setup
  2. Diva Staking

Updating your Diva client

PreviousRegistering your Diva nodeNextMonitoring your Diva Node

Last updated 1 year ago

Update automatically

Note: This is only available for those with the latest versions of the docker compose for diva-alpha-net.

Run the installation script by executing:

cd ~/diva-alpha-net
./run.sh

Inside the diva-alpha-net folder, and select option 2. Update Diva:

Update manually

1. Stop the current Diva client

Navigate to the Diva directory containing the docker-compose.yml file and bring the service down.

cd diva-alpha-net
docker compose down

2. Backup the current Diva directory

Move all contents in the original Diva directory into a new directory diva-alpha-net-bak.

mv ~/diva-alpha-net ~/diva-alpha-net-bak

3. Download the new version

Clone the latest version of the diva-alpha-net git repository into the original parent folder on your system.

git clone https://github.com/shamirlabs/diva-alpha-net ~/diva-alpha-net

4. Create a new .env file

cp ~/diva-alpha-net/.env.example ~/diva-alpha-net/.env 

5. Edit the new .env file

Open up the old .env file,

sudo nano ~/diva-alpha-net-bak/.env

and retrieve the following environment variables...

  1. EXECUTION_CLIENT_URL

  2. CONSENSUS_CLIENT_URL

  3. DIVA_API_KEY

  4. DIVA_VAULT_PASSWORD

  5. TESTNET_USERNAME

and enter them into the corresponding variables in your new .env file.

sudo nano ~/diva-alpha-net/.env

6. Migrate the data

Copy the .diva folder from the ~/diva-alpha-net-bak folder to the new folder ~/diva-alpha-net:

cp -r ~/diva-alpha-net-bak/.diva ~/diva-alpha-net/.diva

7. Preparing the docker compose file

Open up the docker-compose.yml file.

cd diva-alpha-net
sudo nano docker-compose.yml

Amend the ports: section of the grafana service to "3001:3000". This is so that the Grafana service running on docker does not clash with your native Grafana service.

# Metrics
  grafana:
    image: grafana/grafana:10.2.5
    user: root
    container_name: grafana
    profiles:
      - metrics
    hostname: grafana
    restart: unless-stopped
    ports:
      - "3001:3000"
    volumes:
      - ${DIVA_DATA_FOLDER:-.}/grafana/config:/etc/grafana/provisioning
      - ${DIVA_DATA_FOLDER:-.}/grafana/data:/var/lib/grafana
      - ${DIVA_DATA_FOLDER:-.}/grafana/config/grafana.ini:/etc/grafana/grafana.ini

You will then be able to run both Grafana services without conflicts. Access each of the dashboards via:

  1. Native Grafana: <IP_address:3000>

  2. Docker Grafana: <IP_address:3001>

8. Prepare the Lodestar docker compose file

Skip this Step 8 for the Default (All-in-one) method.

Open up the docker-compose-lodestar-vc.yml file.

sudo nano ~/diva-alpha-net/docker-compose-lodestar-vc.yml

Append the following contents in this file.

# Monitoring configuration
  prometheus:
    extends:
      file: docker-compose.yml
      service: prometheus

  node-exporter:
    extends:
      file: docker-compose.yml
      service: node-exporter

  grafana:
    extends:
      file: docker-compose.yml
      service: grafana

9. Remove previous containers

Note: You must stop and delete all Diva containers before starting the services again.

So first, make sure all Diva containers are stopped and removed identify their container IDs.

cd ~/diva-alpha-net
docker compose down
docker ps -a

Expected output: You should see an empty list.

If you still see a list of Diva related containers like below,

then you can remove all Diva containers listed using one of the following methods:

  • One by one using theCONTAINER ID if you have other non-Diva docker containers running

docker stop <CONTAINER ID>
docker rm <CONTAINER ID>
  • All at once if you only have Diva containers running

docker rm -f $(docker ps -a -q)

9. Run the new Diva containers

cd ~/diva-alpha-net
# Choose one of the following to run according to the setup method you are on 
docker compose -f up -d #For Default method
docker compose -f docker-compose-lodestar-vc.yml up -d #For Experimental method

Monitor the logs to make sure there are no errors.

docker logs diva -f

Expected output: There are 3 things to look out for - "connected to execution client", "consensus client available", and "running diva client".