Validator Node Setup
Guide on Validator Node setup by papadritta
🖥 Main info:
- Node version: v0.39.0
- Chain Id: luminara-position.5eef10f5ab83
- Service Name: namadad.service⚙️ Hardware Requirement:
- Memory: 64 GB
- CPU: 8 cores
- Disk: 0.5 TB NVME SSD
- Bandwidth: 100 MBps for Download / Upload✅ Installation steps:
Install dependences
cd $HOME
sudo apt update
sudo apt install make unzip clang pkg-config git-core libudev-dev libssl-dev build-essential libclang-18-dev git jq ncdu bsdmainutils htop -y < "/dev/null"Install Rustup
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh. "$HOME/.cargo/env"
cargo --versionInstall Cometbft
mkdir -p $HOME/cometbft_bin
cd $HOME/cometbft_bin
wget -O cometbft.tar.gz https://github.com/cometbft/cometbft/releases/download/v0.37.2/cometbft_0.37.2_linux_amd64.tar.gz
tar xvf cometbft.tar.gz
sudo chmod +x cometbft
sudo mv ./cometbft /usr/local/bin/
cometbft versionInstall Protoc
apt-get update
apt-get install -y protobuf-compiler
protoc --versionDownload and build last version - v0.39.0
cd $HOME
git clone https://github.com/anoma/namada.git
cd namada
git checkout v0.39.0
make build-releasesudo mv target/release/namada /usr/local/bin/
sudo mv target/release/namada[c,n,w,r] /usr/local/bin/namada -V ## (should return v0.39.0)✅ Set vars:
Set vars (can keep as default or can adjust some: MONIKER, WALLET_NAME, EMAIL)
echo 'export MONIKER="testnetCampfire"' >> ~/.bash_profile
echo 'export WALLET_NAME="wallet"' >> ~/.bash_profile
echo 'export NAMADA_NETWORK_CONFIGS_SERVER="https://testnet.luminara.icu/configs"' >> ~/.bash_profile
echo 'export CHAIN_ID="luminara-position.5eef10f5ab83"' >> ~/.bash_profile
source $HOME/.bash_profileJoin network
namadac utils join-network --chain-id $CHAIN_ID --dont-prefetch-wasmDownloading config release from https://testnet.luminara.icu/configs/luminara-position.5eef10f5ab83.tar.gz ... No validator keys are being used. Make sure you didn't forget to specify
--genesis-validator? Successfully configured for chain ID luminara-position.5eef10f5ab83
Check if check all files are configured correct
ls /root/.local/share/namada/luminara-position.5eef10f5ab83Download the wasm (and extract and place in the namada wasm folder)
wget https://testnet.luminara.icu/wasm.tar.gz -O /root/.local/share/namada/luminara-position.5eef10f5ab83/wasm.tar.gz
tar -xzvf /root/.local/share/namada/luminara-position.5eef10f5ab83/wasm.tar.gz -C /root/.local/share/namada/luminara-position.5eef10f5ab83/wasmAdd persistent peer to config.toml
nano /root/.local/share/namada/luminara-position.5eef10f5ab83/config.toml
persistent_peers = "tcp://[email protected]:26656"Test start node
CMT_LOG_LEVEL=p2p:none,pex:error namada node ledger runCheck executable file
which namada ## (should return /usr/local/bin/namada)Make a systemd service file
sudo tee /etc/systemd/system/namadad.service > /dev/null <<EOF
[Unit]
Description=namada
After=network-online.target
[Service]
User=$USER
WorkingDirectory=$HOME/.local/share/namada
Environment=CMT_LOG_LEVEL=p2p:none,pex:error
Environment=NAMADA_CMT_STDOUT=true
ExecStart=/usr/local/bin/namada node ledger run
StandardOutput=syslog
StandardError=syslog
Restart=always
RestartSec=10
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOFRun a service
sudo systemctl daemon-reload
sudo systemctl enable namadad
sudo systemctl start namadadCheck Node status
curl localhost:26657/status | jq Create a new keypair (Wallet)
namada wallet gen --alias $WALLET_NAME ✅ Faucet:
Request Nam tokens from Faucet https://faucet.luminara.icu (maximum 1000 Nam per one request)
✅ Init a validator:
Init a new validator
namada client init-validator \
--alias $MONIKER \
--account-keys $WALLET_NAME \
--signing-keys $WALLET_NAME \
--commission-rate 0.05 \
--max-commission-rate-change 0.05 \
--email $EMAILGrep your validator
namadaw list --addr | grep $MONIKERCheck wallet balance
namada client balance --owner $WALLET_NAME --token NAMBond token to your validator (adjust the amount)
namada client bond \
--validator $MONIKER \
--amount 1000 \
--source $WALLET_NAMECheck bonds
namada client bonds --owner $WALLET_NAMEQuery the set of active validators
namadac bonded-stakeCheck your validator state
namadac validator-state --validator $MONIKERUnjail your validator
namada client unjail-validator --validator $MONIKERLast updated