LogoLogo
SDKAPI
Version-v1.4.0 (current)
Version-v1.4.0 (current)
  • Learn
    • Introduction
      • Obol Collective
      • OBOL Incentives
      • Key Staking Concepts
      • Obol vs Other DV Implementations
      • Obol Splits
      • DV Launchpad
      • Frequently Asked Questions
    • Charon
      • Introduction to Charon
      • Distributed Key Generation
      • Cluster Configuration
      • Charon Networking
      • CLI Reference
    • Futher Reading
      • Ethereum and Its Relationship With DVT
      • Community Testing
      • Peer Score
      • Useful Links
  • Run a DV
    • Quickstart
      • Quickstart Overview
      • Create a DV Alone
      • Create a DV With a Group
      • Push Metrics to Obol Monitoring
    • Prepare to Run a DV
      • How and Where To Run DVs
      • Deployment Best Practices
      • Test a Cluster
    • Running a DV
      • Activate a DV
      • Update a DV
      • Monitoring Your Node
      • Claim Rewards
      • Exit a DV
    • Partner Integrations
      • Create an EigenLayer DV
      • Create a Lido CSM DV
      • DappNode
  • Advanced & Troubleshooting
    • Advanced Guides
      • Create a DV Using the SDK
      • Migrate an Existing Validator
      • Enable MEV
      • Combine DV Private Key Shares
      • Self-Host a Relay
      • Advanced Docker Configs
      • Beacon node authentication
    • Troubleshooting
      • Errors & Resolutions
      • Handling DKG Failure
      • Client Configuration
      • Test Commands
    • Security
      • Overview
      • Centralization Risks and Mitigation
      • Obol Bug Bounty Program
      • Smart Contract Audit
      • Software Development at Obol
      • Charon Threat Model
      • Contacts
  • Community & Governance
    • Governance
      • Collective Overview
      • The Token House
      • The RAF
      • Delegate Guide
      • RAF1 Guide
    • The OBOL Token
      • Token Utility
      • Token Distribution & Liquidity
      • TGE FAQ
    • Community
      • Staking Mastery Program
      • Techne
    • Contribution & Feedback
      • Filing a Bug Report
      • Documentation Standards
      • Feedback
  • Walkthrough Guides
    • Walkthroughs
      • Walkthrough Guides
  • SDK
    • Intro
    • Enumerations
      • FORK_MAPPING
    • Classes
      • Client
    • Interfaces
      • ClusterDefinition
      • RewardsSplitPayload
    • Type-Aliases
      • BuilderRegistration
      • BuilderRegistrationMessage
      • ClusterCreator
      • ClusterLock
      • ClusterOperator
      • ClusterPayload
      • ClusterValidator
      • DepositData
      • DistributedValidator
      • ETH_ADDRESS
      • OperatorPayload
      • SplitRecipient
      • TotalSplitPayload
    • Functions
      • validateClusterLock
  • API
    • What is this API?
    • System
    • Metrics
    • Cluster Definition
    • Cluster Lock
    • State
    • DV Exit
    • Cluster Effectiveness
    • Terms And Conditions
    • Techne Credentials
    • Address
    • OWR Information
  • Specification
Powered by GitBook
On this page
Edit on GitHub
  1. Run a DV
  2. Running a DV

Update a DV

PreviousActivate a DVNextMonitoring Your Node

Last updated 5 days ago

It is highly recommended to upgrade your DV stack from time to time. This ensures that your node is secure, performant, up-to-date and you don't miss important hard forks.

To do this, follow these steps:

cd charon-distributed-validator-node

Pull latest changes to the repo

git pull

Create (or recreate) your DV stack

docker compose up -d --build

If you run more than one node in a DV Cluster, please take caution upgrading them simultaneously. Particularly if you are updating or changing the validator client used or recreating disks. It is recommended to update nodes on a sequential basis to minimse liveness and safety risks.

Conflicts

You may get a git conflict error similar to this:

error: Your local changes to the following files would be overwritten by merge:
prometheus/prometheus.yml

Please commit your changes or stash them before you merge.

This is probably because you have made some changes to some of the files, for example to the prometheus/prometheus.yml file.

To resolve this error, you can either:

  • Stash and reapply changes if you want to keep your custom changes:

    git stash                       # Stash your local changes
    git pull                        # Pull the latest changes
    git stash apply                 # Reapply your changes from the stash
    docker-compose up -d --build    # Recreate your DV stack

    After reapplying your changes, manually resolve any conflicts that may arise between your changes and the pulled changes using a text editor or Git's conflict resolution tools.

  • Override changes and recreate configuration if you don't need to preserve your local changes and want to discard them entirely:

    git reset --hard                # Discard all local changes and override with the pulled changes
    git pull                        # Pull the latest changes
    docker-compose up -d --build    # Recreate your DV stack

    After overriding the changes, you will need to recreate your DV stack using the updated files. By following one of these approaches, you should be able to handle Git conflicts when pulling the latest changes to your repository, either preserving your changes or overriding them as per your requirements.

cd charon-distributed-validator-cluster
git pull
docker compose up -d --build

If you run more than one node in a DV Cluster, please take caution upgrading them simultaneously. Particularly if you are updating or changing the validator client used or recreating disks. It is recommended to update nodes on a sequential basis to minimse liveness and safety risks.

You may get a git conflict error similar to this:

error: Your local changes to the following files would be overwritten by merge:
prometheus/prometheus.yml

Please commit your changes or stash them before you merge.

This is probably because you have made some changes to some of the files, for example to the prometheus/prometheus.yml file.

To resolve this error, you can either:

  • Stash and reapply changes if you want to keep your custom changes:

    git stash                       # Stash your local changes
    git pull                        # Pull the latest changes
    git stash apply                 # Reapply your changes from the stash
    docker-compose up -d --build    # Recreate your DV stack

    After reapplying your changes, manually resolve any conflicts that may arise between your changes and the pulled changes using a text editor or Git's conflict resolution tools.

  • Override changes and recreate configuration if you don't need to preserve your local changes and want to discard them entirely:

    git reset --hard                # Discard all local changes and override with the pulled changes
    git pull                        # Pull the latest changes
    docker-compose up -d --build    # Recreate your DV stack

    After overriding the changes, you will need to recreate your DV stack using the updated files. By following one of these approaches, you should be able to handle Git conflicts when pulling the latest changes to your repository, either preserving your changes or overriding them as per your requirements.

Pull latest changes to the repo

Create (or recreate) your DV stack

Conflicts

​
​
​
​
​
​