Installation
Official docs
https://docs.namada.net/operators
Hardware Requirements
Node Type | RAM | Storage | CPU Cores |
---|---|---|---|
Validator | 16 GB | 1 TB* | 4 |
Full Node | 8 GB | 1 TB | 2 |
Light Node | TBD | TBD | TBD |
Install dependencies
sudo apt-get update -y
sudo apt-get install curl tar wget clang pkg-config libssl-dev libclang-dev jq build-essential bsdmainutils git make ncdu gcc git jq chrony liblz4-tool libudev-dev -y
Install rust
sudo curl https://sh.rustup.rs -sSf | sh -s -- -y
source $HOME/.cargo/env
Install binaries
NAMADA_TAG=v1.1.5
cd && git clone https://github.com/anoma/namada && cd namada && git pull &&git checkout $NAMADA_TAG
make install
Init node
export NAMADA_NETWORK_CONFIGS_SERVER="https://github.com/anoma/namada-mainnet-genesis/releases/download/mainnet-genesis"
namadac utils join-network --chain-id namada.5f5de2dd1b88cba30586420
Set peers
peers=$(curl -sS https://rpc.namada.silentvalidator.com/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}' | paste -sd, -)
sed -i -e "s|^persistent_peers *=.*|persistent_peers = \"$peers\"|" $HOME/.local/share/namada/namada.5f5de2dd1b88cba30586420/config.toml
echo $peers
Set up custom ports (Optional)
export CUSTOM_PORT=200
sed -i \
-e "s|^proxy_app = \"tcp://127.0.0.1:26658\"|proxy_app = \"tcp://127.0.0.1:${CUSTOM_PORT}58\"|" \
-e "s|^laddr = \"tcp://127.0.0.1:26657\"|laddr = \"tcp://127.0.0.1:${CUSTOM_PORT}57\"|" \
-e "s|^laddr = \"tcp://0.0.0.0:26656\"|laddr = \"tcp://0.0.0.0:${CUSTOM_PORT}56\"|" \
-e "s|^prometheus_listen_addr = \":26660\"|prometheus_listen_addr = \":${CUSTOM_PORT}60\"|" \
$HOME/.local/share/namada/namada.5f5de2dd1b88cba30586420/config.toml
Set up services
sudo tee /etc/systemd/system/namadad.service > /dev/null << EOF
[Unit]
Description=Namadad
After=network-online.target
[Service]
User=$USER
ExecStart=$(which namada) ledger run
Environment="CMT_LOG_LEVEL=p2p:none,pex:error"
Environment="NAMADA_CMT_STDOUT=true"
Environment="NAMADA_LOG=info"
Restart=always
RestartSec=10
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
Download snapshot
cd
wget -O namada_db_latest.tar.lz4 https://snapshot.silentvalidator.com/namada/snapshot/namada_db_latest.tar.lz4
wget -O namada_data_latest.tar.lz4 https://snapshot.silentvalidator.com/namada/snapshot/namada_data_latest.tar.lz4
Decompress snapshot
lz4 -c -d namada_db_latest.tar.lz4 | tar -xv -C $HOME/.local/share/namada/namada.5f5de2dd1b88cba30586420/
lz4 -c -d namada_data_latest.tar.lz4 | tar -xv -C $HOME/.local/share/namada/namada.5f5de2dd1b88cba30586420/cometbft
Start the node
sudo systemctl daemon-reload && \
sudo systemctl enable namadad && \
sudo systemctl restart namadad && \
sudo journalctl -u namadad -fn 100
Check sync status
curl -s http://localhost:${CUSTOM_PORT}57/status | jq .result.sync_info
if "catching_up": false
then the node is synced