Full Node Setup
1. System requirements
Ubuntu must be 22.04 or newer.
2. Manual installation
2.1 Set up variables
Copy CHAIN_ID="namada.5f5de2dd1b88cba30586420"
WALLET_ALIAS="<SET YOUR WALLET ALIAS>"
VALIDATOR_ALIAS="<SET YOUR VALIDATOR ALIAS>"
Export variables:
Copy echo "export WALLET_ALIAS="$WALLET_ALIAS"" >> $HOME/.bash_profile
echo "export VALIDATOR_ALIAS="$VALIDATOR_ALIAS"" >> $HOME/.bash_profile
echo "export WORKING_DIR="$HOME/.local/share/namada"" >> $HOME/.bash_profile
echo "export PUBLIC_IP=$(wget -qO- eth0.me)" >> $HOME/.bash_profile
echo "export CHAIN_ID="$CHAIN_ID"" >> $HOME/.bash_profile
source $HOME/.bash_profile
2.2 Install prerequisites
Update packages and install dependencies:
Copy sudo apt update && sudo apt upgrade -y
sudo apt-get install -y curl git jq lz4 make git-core libssl-dev pkg-config libclang-12-dev build-essential protobuf-compiler
Install Go:
Copy sudo rm -rf /usr/local/go
curl -Ls https://go.dev/dl/go1.20.10.linux-amd64.tar.gz | sudo tar -xzf - -C /usr/local
eval $(echo 'export PATH=$PATH:/usr/local/go/bin' | sudo tee /etc/profile.d/golang.sh)
eval $(echo 'export PATH=$PATH:$HOME/go/bin' | tee -a $HOME/.profile)
Install Rust:
Copy curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
source $HOME/.cargo/env
Install CometBFT:
Copy cd $HOME
rm -rf cometbft
git clone https://github.com/cometbft/cometbft.git
cd cometbft
git checkout v0.37.11
make build
sudo cp $HOME/cometbft/build/cometbft /usr/local/bin/
cometbft version
2.3 Install Namada binary
Copy cd $HOME
rm -rf namada
git clone https://github.com/anoma/namada
cd namada
wget https://github.com/anoma/namada/releases/download/v1.0.0/namada-v1.0.0-Linux-x86_64.tar.gz
tar -xvf namada-v1.0.0-Linux-x86_64.tar.gz
rm namada-v1.0.0-Linux-x86_64.tar.gz
cd namada-v1.0.0-Linux-x86_64
sudo mv namad* /usr/local/bin/
if [ ! -d "$WORKING_DIR" ]; then
mkdir -p "$WORKING_DIR"
fi
Check namada version:
2.4 Initialize the chain configuration
For genesis validators:
Copy namada client utils join-network --chain-id $CHAIN_ID --genesis-validator $VALIDATOR_ALIAS
For post-genesis validators and Full nodes:
Copy namada client utils join-network --chain-id $CHAIN_ID
Check everything works fine :
Output should be like: "Last committed epoch: 150"
2.5 Create service file
Copy sudo tee /etc/systemd/system/namadad.service > /dev/null <<EOF
[Unit]
Description=namada
After=network-online.target
[Service]
User=$USER
WorkingDirectory=$WORKING_DIR
Environment=TM_LOG_LEVEL=p2p:none,pex:error
Environment=NAMADA_CMT_STDOUT=true
Environment=NAMADA_LOG=info
ExecStart=$(which namada) node ledger run
StandardOutput=syslog
StandardError=syslog
Restart=always
RestartSec=10
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
2.6 Start a node
Copy sudo systemctl daemon-reload
sudo systemctl enable namadad
sudo systemctl restart namadad && sudo journalctl -u namadad -f
3. Adding wallets
3.1 Add new keypair (or restore)
Copy namada wallet gen --alias $WALLET_ALIAS
or restore:
Copy namada wallet derive --alias $WALLET_ALIAS --hd-path default
3.2 Check keys
Copy namada wallet find --alias $WALLET_ALIAS
Wait until the node is synchronized.
Command to check your node status ("latest_block_height" should be not 0 and "catching up" - false):
Copy curl localhost:26657/status | jq
3.3 Check key balance
Copy namada client balance --owner $WALLET_ALIAS
4. Validator Setup
Following validator setup is optional for Crew Members. Wait until your node is synced!
Command to check your node status ("latest_block_height" should be not 0 and "catching up" - false):
Copy curl localhost:26657/status | jq
4.1 Create validator
Copy namada client init-validator \
--alias $VALIDATOR_ALIAS \
--account-keys $WALLET_ALIAS \
--signing-keys $WALLET_ALIAS \
--commission-rate 0.1 \
--max-commission-rate-change 0.1 \
--email <ENTER YOUR EMAIL>
4.2 Restart your node
Copy systemctl restart namadad
4.3 Stake (bond) your validator
Copy namada client bond --source $WALLET_ALIAS --validator $VALIDATOR_ALIAS --amount 100
Wait > 2 epochs and then check bond status.
4.4 Check your validator status
Copy namada client bonds --owner $WALLET_ALIAS