Page cover

PoS Validator Setup

This guide will help you set up a validator node for the Vana Proof-of-Stake (PoS) network using Docker.

https://docs.vana.org/vana/core-concepts/roles/propagatorsarrow-up-right

1. Prerequisites

You need to submit deposits for each validator at least 35,000 VANA on Moksha testnet. This process stakes your VANA and registers your validator(s) with the network

Hardware requirements for Testnet​arrow-up-right

  • 2-core CPU

  • 8 GB RAM

  • 100 GB high-speed SSD

  • x86-64 architecture

These hardware requirements are rough guidelines, and each node operator should monitor their node to ensure good performance for the intended task.

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
docker version
  • OpenSSL: Install via your package manager:

2. Clone the repository:

3. Configure your environment:

Edit .env with your preferred text editor

4. Choose your setup:

a. For running a node without a validator:

Edit the .env file to set the USE_VALIDATOR variable to false. It is recommended to use GETH_SYNCMODE=snap and to update the Prysm variables to match, per the comments in the .env.example file. Then run the following commands:

b. For running a validator node:

Edit the .env file to set the USE_VALIDATOR variable to true and set the DEPOSIT_* variables to the appropriate values. Then run the following commands:

Generate validator keys (interactive process):

Setting an Eth1 address as your withdrawal address:

Create a password that secures your validator keystore(s):

Save your mnemonic carefully:

circle-exclamation

Verify your mnemonic phrase

Check config:

Start all services including the validator:

View logs for specific key services:

Wait for beacon chain full synced

Submit deposits for your validator

You need to submit deposits for each validator at least 35,000 VANA on Moksha testnet. This process stakes your VANA and registers your validator(s) with the network

Check block sync left:

# Advanced Usage

The docker-compose.yml file provides several additional capabilities for managing your Vana PoS validator node. Here are some useful commands and their purposes:

Profiles

Different profiles are available for various operations:

  • init: Initialize clients, generate secrets

  • node: Run the main node services

  • validator: Run validator-specific services

  • manual: For manual operations like key generation

  • delete: Delete data, e.g. to reset the chain so you can re-sync

You can combine profiles as needed. Whenever a service depends on another service, you must include the dependent profile.

For example, to start the node, you must include the init and node profiles:

Key Management

Generate validator keys (interactive process):

Import validator keys:

Deleting Data

To delete all data/ (does not remove generated secrets/):

To delete execution or consensus layer data:

Configuration Check

Run a configuration check:

Individual Services

You can start, stop, or restart individual services:

Viewing Logs

View logs for specific services:

Add -f to follow the logs in real-time:

Use grep to filter for specific events:

Last updated