PoS Validator
PoS Validator Setup
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
- 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:
- 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: