This guide covers best practices for setting up, running, and maintaining a validator node on the GenLayer Asimov & Bradbury Testnets. Following these practices will improve your uptime, security, and overall validator performance.
Before setting up your node, ensure you have:
- Docker 26+
- Node.js 18+
- npm installed
- At least 4GB RAM and 50GB SSD storage
Install the GenLayer CLI globally:
npm install -g genlayerInitialize your environment with 5 validators:
genlayer init --numValidators 5Use --reset-db for a clean slate during testing.
The CLI uses keytar for secure key storage, which requires libsecret:
# Ubuntu/Debian
sudo apt-get install libsecret-1-0
# Fedora
sudo dnf install libsecretAlways pin your version on testnets to avoid breaking changes:
genlayer init --localnet-version v0.10.2Using the GenLayer JS SDK, point to the correct chain:
import { testnetAsimov } from 'genlayer-js/chains';
const client = createClient({ chain: testnetAsimov, account });const isValidator = await client.isValidator("0xYourAddress");
const validators = await client.getActiveValidators();- Disable password login; use SSH keys only
- Configure UFW firewall with strict port rules
- Store validator key backups encrypted and offsite
- Apply security patches promptly
- Set up Grafana + Prometheus dashboards
- Connect alerts to PagerDuty or Telegram
- Don't rely on manual checks — automate everything
- Monitor GenLayer Discord and governance forums regularly
- Vote on every proposal — abstaining signals inactivity
- Engage in pre-vote discussions to represent your validator's position
Following these best practices will ensure your GenLayer validator node is secure, reliable, and positively contributing to the network.