Manual Installation
Official Documentation Recommended Hardware: CPU: x86_64 or arm64, 8GB DDR4, 1TB of storage
Update packages and Install dependencies select 1
Copy sudo apt update && sudo apt upgrade -y
sudo apt-get install -y make git-core libssl-dev pkg-config libclang-12-dev build-essential protobuf-compiler
Install:
Copy cd $HOME
! [ -x "$( command -v go )" ] && {
VER = "1.20.3"
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"
[ ! -f ~ /.bash_profile ] && touch ~/.bash_profile
echo "export PATH=$PATH:/usr/local/go/bin:~/go/bin" >> ~/.bash_profile
source $HOME /.bash_profile
}
[ ! -d ~ /go/bin ] && mkdir -p ~/go/bin
Replace your Validator and Wallet name, save and import variables into system. Change default port if needed.
Copy NAMADA_PORT = 26
echo "export NAMADA_PORT=" $NAMADA_PORT "" >> $HOME /.bash_profile
echo "export ALIAS=" CHOOSE_A_NAME_FOR_YOUR_VALIDATOR "" >> $HOME /.bash_profile
echo "export MEMO=" CHOOSE_YOUR_tpknam_ADDRESS "" >> $HOME /.bash_profile
echo "export WALLET=" wallet "" >> $HOME /.bash_profile
echo "export PUBLIC_IP=$( wget -qO- eth0.me )" >> $HOME /.bash_profile
echo "export TM_HASH=" v0.1.4-abciplus "" >> $HOME /.bash_profile
echo "export CHAIN_ID=" shielded-expedition.88f17d1d14 "" >> $HOME /.bash_profile
echo "export BASE_DIR=" $HOME /.local/share/namada "" >> $HOME /.bash_profile
source $HOME /.bash_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.2
make build
sudo cp $HOME /cometbft/build/cometbft /usr/local/bin/
cometbft version
Download and build Namada binaries:
Copy cd $HOME
rm -rf namada
git clone https://github.com/anoma/namada
cd namada
wget https://github.com/anoma/namada/releases/download/v0.31.6/namada-v0.31.6-Linux-x86_64.tar.gz
tar -xvf namada-v0.31.6-Linux-x86_64.tar.gz
rm namada-v0.31.6-Linux-x86_64.tar.gz
cd namada-v0.31.6-Linux-x86_64
sudo mv namad* /usr/local/bin/
if [ ! -d "$BASE_DIR" ]; then
mkdir -p "$BASE_DIR"
fi
Check Namada version:
🔗 Join-network as Pre-Genesis Validator
📁 Move your pre-genesis folder to $BASE_DIR and join the network:
Copy cd $HOME
cp -r ~/.namada/pre-genesis $BASE_DIR /
namada client utils join-network --chain-id $CHAIN_ID --genesis-validator $ALIAS
Join-network as Full Nodes or Post-Genesis Validator:
Copy namada client utils join-network --chain-id $CHAIN_ID
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=$BASE_DIR
Environment=TM_LOG_LEVEL=p2p:none,pex:error
Environment=NAMADA_CMT_STDOUT=true
ExecStart=$( which namada) node ledger run
StandardOutput=syslog
StandardError=syslog
Restart=always
RestartSec=10
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
Set custom ports in config.toml:
Copy sed -i.bak -e "s%:26658%:${NAMADA_PORT}658%g;
s%:26657%:${NAMADA_PORT}657%g;
s%:26656%:${NAMADA_PORT}656%g;
s%:26545%:${NAMADA_PORT}545%g;
s%:8545%:${NAMADA_PORT}545%g;
s%:26660%:${NAMADA_PORT}660%g" $HOME /.local/share/namada/shielded-expedition.88f17d1d14/config.toml
Enable and start service:
Copy sudo systemctl daemon-reload
sudo systemctl enable namadad
sudo systemctl restart namadad && sudo journalctl -u namadad -f
🔎 Create and fund walletCreate wallet:
Copy namadaw gen --alias $WALLET
Restore existing wallet:
Copy namadaw derive --alias $WALLET
Find your wallet address:
Copy namadaw find --alias $WALLET
Copy the implicit address (starts with tnam...) for the next stepFund your wallet from faucet After a couple of minutes, check the balance
Copy namadac balance --owner $WALLET
List known keys and addresses in the wallet
Delete wallet
Copy namadaw remove --alias $WALLET --do-it
Check Sync status, once your node is fully synced, the output from above will sayfalse
Copy curl http://127.0.0.1:26657/status | jq
🧑🎓 Turn your full node into a validatorInitiate a validator
Copy namadac init-validator \
--commission-rate 0.07 \
--max-commission-rate-change 1 \
--signing-keys $WALLET \
--alias $ALIAS \
--email < EMAIL_ADDRES S > \
--website < WEBSIT E > \
--discord-handle < DISCOR D > \
--account-keys $WALLET \
--memo $MEMO
Find your establishedvalidator address
Copy namadaw list | grep -A 1 "" $ALIAS "" | grep "Established"
Replace your Validator address, save and import variables into system
Copy VALIDATOR_ADDRESS = $( namadaw list | grep -A 1 "\"$ALIAS\"" | grep "Established" | awk '{print $3}' )
echo "export VALIDATOR_ADDRESS=" $VALIDATOR_ADDRESS "" >> $HOME /.bash_profile
source $HOME /.bash_profile
Restart the node and wait for 2 epochs
Copy sudo systemctl restart namadad && sudo journalctl -u namadad -f
Check epoch
Delegate tokens
Copy namadac bond --validator $ALIAS --source $WALLET --amount 1000 --memo $MEMO
Wait for 3 epochs and check validator is in the consensus set
Copy namadac validator-state --validator $ALIAS
Check your validator bond status
Copy namada client bonds --owner $WALLET
Find your validator status
Copy namada client validator-state --validator $VALIDATOR_ADDRESS
Add stake
Copy namadac bond --source $WALLET --validator $VALIDATOR_ADDRESS --amount 1000
Query the set of validators
Unbond the tokens
Copy namadac unbond --source $WALLET --validator $VALIDATOR_ADDRESS --amount 1000
Wait for 6 epochs, then check when the unbonded tokens can be withdrawed
Copy namadac bonds --owner $WALLET
Withdraw the unbonded tokens
Copy namadac withdraw --source $WALLET --validator $VALIDATOR_ADDRESS
Security
To protect you keys please don`t share your privkey, mnemonic and follow a basic security rules
Set up ssh keys for authentication
You can use this guide to configure ssh authentication and disable password authentication on your server
Firewall security
Set the default to allow outgoing connections, deny all incoming, allow ssh and node p2p port
Copy sudo ufw default allow outgoing
sudo ufw default deny incoming
sudo ufw allow ssh/tcp
sudo ufw allow ${NAMADA_PORT} 656/tcp
sudo ufw enable
Delete node
Copy sudo systemctl stop namadad
sudo systemctl disable namadad
sudo rm -rf /etc/systemd/system/namadad.service
sudo systemctl daemon-reload
sudo rm $( which namada )
sudo rm -rf $HOME /.local/share/namada/public-testnet-15.0dacadb8d663
Last updated 9 months ago