installation


description: Setting up your validator node has never been so easy. Get your validator running in minutes by following step by step instructions.

Installation

Network name: Namada | Chain ID: shielded-expedition.88f17d1d14 | Latest version: `` | Custom Port: 200

Setup validator name

Replace YOUR_MONIKER_GOES_HERE with your validator name

MONIKER="YOUR_MONIKER_GOES_HERE"

Install dependencies

Update system and install build tools

sudo apt -q update
sudo apt -qy install make git-core libssl-dev pkg-config libclang-12-dev build-essential protobuf-compiler libudev-dev
sudo apt -qy upgrade

Install Rust

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Download and build binaries

# Clone project repository
cd $HOME
rm -rf namada
git clone https://github.com/anoma/namada namada
cd namada
git checkout 

# Build binaries
make install

### Create a service

# Create service
sudo tee /etc/systemd/system/namada.service > /dev/null << EOF
[Unit]
Description=namada node service
After=network-online.target

[Service]
User=$USER
ExecStart=$(which namada) run start --base-dir=/home/$USER/.local/share/namada ledger run
WorkingDirectory=/home/deploy
Restart=always
RestartSec=5
LimitNOFILE=65535
Environment="CMT_LOG_LEVEL=p2p:none,pex:error"
Environment="RUST_BACKTRACE=full"
Environment="COLORBT_SHOW_HIDDEN=1"
Environment="NAMADA_CMT_STDOUT=true"
Environment="NAMADA_LOG_COLOR=true"
Environment="NAMADA_LOG_FMT=pretty"
Environment="NAMADA_LOG_ROLLING=daily"
Environment="CHAIN_ID=$CHAIN_ID"
Environment="VALIDATOR_ALIAS=$ALIAS"

[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable namada

Initialize the node

# Join the network
namadac utils join-network --chain-id $CHAIN_ID

# Download genesis and addrbook
curl -Ls  > .local/share/namada/{{ chain_id }}/cometbft/config/genesis.json
curl -Ls https://snapshots.lavenderfive.com/testnet-addrbooks/namada/addrbook.json > .local/share/namada/{{ chain_id }}/cometbft/config/addrbook.json

# Add seeds
seeds=""
sed -i -e "s|^seeds *=.*|seeds = \"$seeds\"|" .local/share/namada/{{ chain_id }}/cometbft/config/config.toml

# Set custom ports
sed -i -e "s%^proxy_app = \"tcp://127.0.0.1:26658\"%proxy_app = \"tcp://127.0.0.1:20058\"%; s%^laddr = \"tcp://127.0.0.1:26657\"%laddr = \"tcp://127.0.0.1:20057\"%; s%^pprof_laddr = \"localhost:6060\"%pprof_laddr = \"localhost:20060\"%; s%^laddr = \"tcp://0.0.0.0:26656\"%laddr = \"tcp://0.0.0.0:20056\"%; s%^prometheus_listen_addr = \":26660\"%prometheus_listen_addr = \":20066\"%" .local/share/namada/{{ chain_id }}/cometbft/config/config.toml
sed -i -e "s%^address = \"tcp://0.0.0.0:1317\"%address = \"tcp://0.0.0.0:20017\"%; s%^address = \":8080\"%address = \":20080\"%; s%^address = \"0.0.0.0:9090\"%address = \"0.0.0.0:20090\"%; s%^address = \"0.0.0.0:9091\"%address = \"0.0.0.0:20091\"%; s%:8545%:20045%; s%:8546%:20046%; s%:6065%:20065%" .local/share/namada/{{ chain_id }}/cometbft/config/app.toml

Start service and check the logs

sudo systemctl start namada && sudo journalctl -u namada -f --no-hostname -o cat

Sync

To catch up quickly, you can use a snapshot

Last updated