Namada logo

Namada

mainnet
Chain ID
namada.5f5de2dd1b88cba30586420
Node
v101.1.1

πŸ“š Node installation

Update packages

sudo apt update && sudo apt upgrade -y

Install dependencies

sudo apt-get install -y make git-core libssl-dev pkg-config libclang-12-dev build-essential protobuf-compiler libudev-dev libprotobuf-dev

Install Go

cd $HOME && \
ver="1.21.4" && \
wget "https://golang.org/dl/go$ver.linux-amd64.tar.gz" && \
sudo rm -rf /usr/local/go && \
sudo tar -C /usr/local -xzf "go$ver.linux-amd64.tar.gz" && \
rm "go$ver.linux-amd64.tar.gz" && \
echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile && \
source $HOME/.bash_profile && \
go version

The output should be: go version go1.21.4 linux/amd64

Install Rust and Nodejs

sudo curl https://sh.rustup.rs -sSf | sh -s -- -y
. $HOME/.cargo/env
curl https://deb.nodesource.com/setup_18.x | sudo bash
sudo apt install nodejs -y

Download binary for work

cd $HOME
rm -rf namada
git clone https://github.com/anoma/namada
cd namada
git checkout v101.1.1
make build-release
sudo mv $HOME/namada/target/release/namada* /usr/local/bin/
namada --version

The output should be: Namada v101.1.1

cd $HOME
rm -rf cometbft
git clone https://github.com/cometbft/cometbft.git
cd cometbft
git checkout v0.37.15
make build
sudo mv $HOME/cometbft/build/cometbft /usr/local/bin/
cometbft version

The output should be: v0.37.15

Specify variables, for ease of work

echo 'export namada_t_moniker="Validator_name"' >> $HOME/.bash_profile
echo 'export namada_t_wallet="Wallet_name"' >> $HOME/.bash_profile
echo 'export namada_t_port="111"' >> $HOME/.bash_profile
echo 'export NAMADA_NETWORK_CONFIGS_SERVER="https://github.com/anoma/namada-mainnet-genesis/releases/download/mainnet-genesis"' >> $HOME/.bash_profile
source $HOME/.bash_profile

Initialize the node

For genesis validator:
namada client utils join-network --chain-id namada.5f5de2dd1b88cba30586420 --genesis-validator $namada_t_moniker
For post-genesis validator:
namada client utils join-network --chain-id namada.5f5de2dd1b88cba30586420
Add persistent peers and seed:
PEERS=tcp://f777450cf546a8a58574f76fd4c1f773ac0ad451@144.76.30.134:26656,tcp://484fb34a22a582fce4a00eb4cc44a1e74b36b18b@34.13.142.29:26656,tcp://4c22830f5bd6784a52572ade7b035ce30f0a8bbf@35.246.167.255:26656,tcp://8c95bb4d635f83b6024ee4ad2f8f0a5a661d81ab@143.198.130.138:26656,tcp://c8f1e8090686493e947c84e26ee124c6b1d855b0@148.113.9.92:26655,tcp://08771d75bf7f4421ce6e22c8742101c337e34eec@135.181.5.27:34200,tcp://58b33cc023ed30d8f2e5249ea75184bebe6fa05a@126.125.46.232:26656,tcp://b8d1ff2a24d7741d0110d3db87053d706c3d756d@176.9.39.38:26656,tcp://532abcbee988a7704bcfc16d9cbca622ca218fba@149.50.110.78:26656,tcp://86238829d64fe2fa5b4337ca90926f9ec56445f2@193.35.57.185:36656
sed -i.bak -e "s|^persistent_peers *=.*|persistent_peers = \"$PEERS\"|" ~/.local/share/namada/namada.5f5de2dd1b88cba30586420/config.toml
SEED=tcp://6b0ffcce9b59b91ceb8eea5d4599e27707e3604a@seeds.stakeup.tech:10224
sed -i.bak -e "s|^seeds =.*|seeds = \"$SEED\"|" ~/.local/share/namada/namada.5f5de2dd1b88cba30586420/config.toml

Optional Settings

Change port
cd $HOME/.local/share/namada/namada.5f5de2dd1b88cba30586420 && \
sed -i.bak \
    -e "s/:\s*26656/:${namada_t_port}56/g" \
    -e "s/:\s*26657/:${namada_t_port}57/g" \
    -e "s/:\s*26658/:${namada_t_port}58/g" \
    -e "s/:\s*26545/:${namada_t_port}45/g" \
    -e "s/:\s*26660/:${namada_t_port}59/g" \
    -e "s/:\s*8545/:${namada_t_port}61/g" \
config.toml

Create a service file

sudo tee /etc/systemd/system/namada.service > /dev/null <<EOF
[Unit]
Description=namada
After=network-online.target
[Service]
User=$USER
WorkingDirectory=$HOME/.local/share/namada
Environment=TM_LOG_LEVEL=p2p:none,pex:error
Environment=NAMADA_CMT_STDOUT=true
ExecStart=$(which namada) ledger run 
StandardOutput=syslog
StandardError=syslog
Restart=always
RestartSec=10
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
              
sudo systemctl daemon-reload &&
sudo systemctl enable namada &&
sudo systemctl restart namada && sudo journalctl -u namada -f -o cat