
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/propagators
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β
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.
Docker: Install Docker
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

Docker Compose: Install Docker Compose

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:
Follow the prompts to set a secure password. Save the mnemonic phrases securely; you'll need these to recover your wallet if needed.

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 secretsnode: Run the main node servicesvalidator: Run validator-specific servicesmanual: For manual operations like key generationdelete: 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