️🏆Namada
Website: https://namada.net/
Twitter: https://x.com/namada
Discord: https://discord.com/invite/namada
Recommended Hardware Requirements
CPU
4 Cores
RAM
8 GB
Storage
500 GB SSD or Nvme
CPU
6 Cores
RAM
16 GB
Storage
1TB SSD or Nvme
1. Installing new Namada Full Node & Validator
1.1 ENV Params
cd ~
NAMADA_TAG="v0.28.0"
NAMADA_CHAIN_ID="public-testnet-7.0.3c5a38dc983"
TM_HASH="v0.1.4-abciplus"
VALIDATOR_ALIAS="yourNode"
1.2 Install and update dependency
sudo apt update -y
sudo apt upgrade -y
sudo apt install curl make clang pkg-config libssl-dev build-essential git jq ncdu bsdmainutils -y
apt-get install protobuf-compiler -y
apt install pkg-config libusb-1.0-0-dev libftdi1-dev -y
apt-get install libudev-dev -y
1.3 Installing Rustc
cd ~
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
#Press 1 to install
source "$HOME/.cargo/env"
rustup show
1.4 Installing Go (required by Tendermint)
goVer="1.19.4"
cd ~
wget "https://golang.org/dl/go$goVer.linux-amd64.tar.gz"
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf "go$goVer.linux-amd64.tar.gz"
rm "go$goVer.linux-amd64.tar.gz"
echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> ~/.bash_profile
source ~/.bash_profile
go version
1.5 Installing Tendermint
cd ~
sudo rm -rf tendermint
git clone https://github.com/heliaxdev/tendermint && cd tendermint && git checkout $TM_HASH
make build
sudo mv build/tendermint /usr/local/bin/
tendermint version
1.6 Installing Namada
cd ~ && sudo rm -rf $HOME/namada
git clone https://github.com/anoma/namada
cd namada
git checkout $NAMADA_TAG
make build-release
sudo mv target/release/namada /usr/local/bin/
sudo mv target/release/namada[c,n,w] /usr/local/bin/
namada -V
1.7 Config Namada Service
echo "[Unit]
Description=Namada Node
After=network.target
[Service]
User=$USER
WorkingDirectory=$HOME/.namada
Type=simple
ExecStart=/usr/local/bin/namada --base-dir=$HOME/.namada node ledger run
Environment=NAMADA_TM_STDOUT=true
RemainAfterExit=no
Restart=always
RestartSec=5s
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target" > $HOME/namadad.service
sudo mv $HOME/namadad.service /etc/systemd/system
sudo tee <<EOF >/dev/null /etc/systemd/journald.conf
Storage=persistent
EOF
sudo systemctl restart systemd-journald
sudo systemctl daemon-reload
sudo systemctl enable namadad
1.8 Join Testnet 15
cd ~
namada client utils join-network --chain-id $NAMADA_CHAIN_ID
1.9 Start Namada Service
sudo systemctl start namadad
2.Config Validator Address
You will have 3 Address: Main Namada Address(private) > consensus-key address > validator-key address (public)
Create new Main Namada Address
cd ~
namada wallet address gen --alias yourMainWalletAliasName
Initialising Validator account (Validator-key and Consesum-key address)
cd ~
namada client init-validator \
--alias $VALIDATOR_ALIAS_NAME \
--source yourMainWalletAliasName \
--commission-rate 0.1 \
--max-commission-rate-change 0.1
Get tokens from the faucet
namadac transfer \
--token NAM \
--amount 1000 \
--source faucet \
--target $VALIDATOR_ALIAS_NAME \
--signer $VALIDATOR_ALIAS_NAME
You can faucet for any Namada address by alias name or specific address of that address. In this example I use validator address.
You can faucet as many times as you want to get as many test tokens as you want
Bond token to your validator
namada client bond \
--validator $VALIDATOR_ALIAS_NAME \
--amount 1000
By default, if you do not specify the source, it will be taken from the validator address. Of course you can also specify from any other address you own eg Your main Nameda address or something else
namada client bond \
--source $WALLET \
--validator $VALIDATOR_ALIAS \
--amount 3000
If you get an error, please try again in a few minutes
Done !
If all goes well, you have now become a validator.
3. Node Operation
Node
Check Node Info
curl -s localhost:26657/status
Check Log
journalctl -u namadad -f
Check current height
sudo journalctl -u namadad -n 10000 -f -o cat | grep height
Restart service
Systemctl restart namadad
Check free disk space
df -hT / --total | awk '/^total/ {print "Total disk size: "$3" | Used:" $4 " | Avaliable:" $5 " | Usage:" $6}'
Account
Check the ballance
namada client balance --owner $WALLET_ALIAS_NAME_OR_FULL_ADDRESS --token NAM
Check your Votepower
namada client bonded-stake | grep $VALIDATOR_ADDRESS
Show all validator in Namada Blockchain
namada client bonded-stake
Check total bonds (Bonds require 2 epoch to be activated)
namadac bonds --validator $VALIDATOR_ALIAS
Check current Epoch
namadac epoch
Unbonds
namada client unbond \
--source $WALLET \
--validator $VALIDATOR_ALIAS \
--amount 1.2
Send token to another address
namada client transfer \
--source $WALLET_ALIAS \
--target $RECIVE_WALLET_ADDRESS \
--token NAM \
--amount 1000
4. QA and Error Handle
The address doesn’t belong to any known validator account
Check your node is synced or not. Double check that the addresses you entered are correct. If everything is correct wait 1 - 2 epoch then try again.
INFO namada_apps::cli::context: Chain ID: namada-internal.00000000000000
The application panicked (crashed).
Message: called `Result::unwrap()` on an `Err` value:
0: couldn't read genesis config file from .namada/namada-internal.00000000000000.toml
1: No such file or directory (os error 2)
Location:
apps/src/lib/config/genesis.rs:687
Let's go back to the home directory "cd ~"
5. Update Namada Validator Node (Post-genesis Validator Only)
Currently, Namada Testnet version allows export of private keys but does not support automatic import of private keys. There is also no recommendation from Namada Team to request the use of addresses from the previous testnet as proof of contribution. So simple to update to the new version, you can delete the old version then reinstall new version. Of course there is still a manual way to do it if you have a need to do so please leave an issue in this Repo. We will add a new article on how to manually export and import Namada accounts (if it's a real need).
To delete and reinstall Namada do the following:
Stop Namadad service
systemctl stop namadad
Remove Namada Data
cd ~
sudo rm -rf .namada
Pull new Namada version
NAMADA_TAG="v0.15.1"
NAMADA_CHAIN_ID="public-testnet-7.0.3c5a38dc983"
cd ~/namada
git fetch
git checkout $NAMADA_TAG
make build-release
sudo mv target/release/namada /usr/local/bin/
sudo mv target/release/namada[c,n,w] /usr/local/bin/
namada -V
cd ~
Last updated