> For the complete documentation index, see [llms.txt](https://service.block-pro.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://service.block-pro.net/mainnet/namada-docs/installation.md).

# Installation

## H**ardware Requirements**

<table><thead><tr><th>Node Type</th><th width="155">CPU</th><th width="160">RAM</th><th>Storage</th></tr></thead><tbody><tr><td>Validator</td><td>4</td><td>16GB</td><td>1TB* (SSD or NVME)</td></tr><tr><td>Full Node</td><td>2</td><td>8GB</td><td>1TB</td></tr></tbody></table>

## Server preparation

1. **Update your system packages:**

```
sudo apt update && sudo apt upgrade -y
```

2. **Install essential dependencies**:

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

3. **Install Go** 1.23.1 (required for building Stargaze):

```
ver="1.23.1"
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
```

4. **Install Rust:**

```
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
source $HOME/.cargo/env
```

5. **Install CometBFT:**

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

***

6. **Set custom configs server**

```
export NAMADA_NETWORK_CONFIGS_SERVER="https://github.com/anoma/namada-mainnet-genesis/releases/download/mainnet-genesis"
```

## Download and Install Namada Binaries

1. **Clone the Namada repository and download the binary:**

```
cd $HOME
git clone https://github.com/anoma/namada
cd namada
wget https://github.com/anoma/namada/releases/download/v1.1.5/namada-v1.1.5-Linux-x86_64.tar.gz
tar -xvf namada-v1.1.5-Linux-x86_64.tar.gz
rm namada-v1.1.5-Linux-x86_64.tar.gz
sudo mv namada-v1.1.5-Linux-x86_64/namad* /usr/local/bin/
mkdir -p $HOME/.namada
```

{% hint style="info" %}
💡 `mkdir -p` ensures the `.namada` directory is created only if it doesn't already exist.
{% endhint %}

2. **Verify the installation:**

```
namada --version
```

> Expected output:
>
> * Namada v1.1.5

***

## Join-network

{% tabs %}
{% tab title="Join-network as Full Nodes or Post-Genesis Validator:" %}

```
namadac utils join-network --chain-id namada.5f5de2dd1b88cba30586420
sed -i 's#persistent_peers = ".*"#persistent_peers = "tcp://05309c2cce2d163027a47c662066907e89cd6b99@74.50.93.254:26656,tcp://2bf5cdd25975c239e8feb68153d69c5eec004fdb@64.118.250.82:46656"#' $HOME/.local/share/namada/namada.5f5de2dd1b88cba30586420/config.toml
```

{% endtab %}

{% tab title="Join-network as Pre-Genesis Validator" %}

```
cd $HOME 
cp -r ~/.namada/pre-genesis $HOME/.local/share/namada
namada client utils join-network --chain-id namada.5f5de2dd1b88cba30586420 --genesis-validator <ALIAS>
sed -i 's#persistent_peers = ".*"#persistent_peers = "tcp://05309c2cce2d163027a47c662066907e89cd6b99@74.50.93.254:26656,tcp://2bf5cdd25975c239e8feb68153d69c5eec004fdb@64.118.250.82:46656"#' $HOME/.local/share/namada/namada.5f5de2dd1b88cba30586420/config.toml
```

{% endtab %}
{% endtabs %}

***

## Setup Peers

```
sed -i 's#persistent_peers = ".*"#persistent_peers = "tcp://05309c2cce2d163027a47c662066907e89cd6b99@74.50.93.254:26656,tcp://2bf5cdd25975c239e8feb68153d69c5eec004fdb@64.118.250.82:46656"#' $HOME/.local/share/namada/namada.5f5de2dd1b88cba30586420/config.toml
```

***

## Create a Systemd Service File

1. **Create and configure the systemd service** to run Stargaze as a service:

```
sudo tee /etc/systemd/system/namadad.service > /dev/null <<EOF
[Unit]
Description=namada
After=network-online.target

[Service]
User=$USER
WorkingDirectory=$BASE_DIR
Environment=CMT_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
```

2. **Reload and start the Stargaze service**:

```
sudo systemctl daemon-reload
sudo systemctl enable namadad
sudo systemctl restart namadad && sudo journalctl -u namadad -f
```

***

## Check Node Sync Status

```
curl http://127.0.0.1:26657/status | jq
```

Look for this line in the output:

```
"catching_up": false
```

This means your node is fully synced.

***

## Manage YourWwallet

* **Create a New Wallet**

Creates a new transparent or shielded secret key and saves it under the provided alias.

```
namadaw gen --alias <WALLET_NAME>
```

* **Restore an Existing Wallet**

Restores a transparent or shielded key from a mnemonic phrase or a hardware device.

```
namadaw derive --alias <WALLET_NAME>
```

* **Find Your Wallet Address**

```
namadaw find --alias <WALLET_NAME>
```

Look for the **implicit address** starting with `tnam...` — you’ll need it.

* **Check Wallet Balance**

Displays the current balance of your wallet.

```
namadac balance --owner <WALLET_NAME> --token nam
```

* **List Wallet Keys**

Lists all known keys and addresses in your local wallet.

```
namadaw list
```

* **Delete Wallet**

```
namadaw remove --alias <WALLET_NAME> --do-it
```

This will completely remove the wallet and all its data.

***

## Become a Validator on Namada

This guide walks you through the process of turning your full node into a validator on the Namada network. Make sure your full node is already synced before proceeding.

**Prerequisites:**

* A fully synced Namada full node
* Your wallet (established account) already created
* Enough tokens in your wallet for self-bonding
* CLI tools installed: `namadac`, `namadaw`, `namadad`
*

1. **Step 1: Initialize the Validator**

Run the following command to become a validator:

```
namadac init-validator \
  --commission-rate 0.07 \
  --max-commission-rate-change 1 \
  --signing-keys <your-wallet-name> \
  --alias <your-validator-alias> \
  --email <your-email@example.com> \
  --website <https://your-website.com> \
  --discord-handle <your-discord#0000> \
  --account-keys <your-alias> \
  --memo <"Your memo or short description">

```

2. **Step 2: Get Your Validator Address**

Find your <kbd>established</kbd>validator address

```
namadaw list
```

3. **Step 3: Restart the Node**

Restart your node and follow the logs:

```
sudo systemctl restart namadad
sudo journalctl -u namadad -f
```

4. **Step 4: Wait for 2 Epochs**

Check the current epoch:

```
namada client epoch
```

Once 2 epochs have passed, proceed to bond your stake.

5. **Step 5: Bond Stake to Your Validator**

```
namadac bond \
  --validator <your-validator-address> \
  --source <your-wallet-name> \
  --amount 1000 \
  --memo <"Your memo or short description">
```

6. **Step 6: Check Validator Status**

After 3 epochs, verify that your validator is in the consensus set:

```
namadac validator-state --validator <your-validator-address>
```

You can also check your bond status:

```
namada client bonds --owner <your-wallet-name>
```

#### Optional: Add More Stake

To increase your stake later:

```
namadac bond \
  --source <your-wallet-name> \
  --validator <your-validator-address> \
  --amount 1000
```

#### Query Useful Info

* Validator info:

```
namada client validator-state --validator <your-validator-address>
```

* All bonded stakes:

```
namadac bonded-stake
```

#### Unbond & Withdraw Tokens

* Unbond tokens:

```
namadac unbond \
  --source <your-wallet-name> \
  --validator <your-validator-address> \
  --amount 1000
```

* Check unbond status (wait 6 epochs):

```
namadac bonds --owner <your-wallet-name>
```

* Withdraw unbonded tokens:

```
namadac withdraw \
  --source <your-wallet-name> \
  --validator <your-validator-address>
```

#### You're Done!

You are now a validator on Namada. Don't forget to:

* Monitor your validator performance
* Claim rewards regularly
* Update your metadata as needed
* Engage in governance voting

### Delete node <a href="#delete" id="delete"></a>

```
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/namada.5f5de2dd1b88cba30586420
```
