# Node Installation

## Namada Installation for Pilot

## Minimum System Requirements

* Validator 16GB 1TB\* 4 Core
* Full Node 8GB 1TB 2 Core
* Light Node TBD TBD TBD

For this node im using Hetzner AX-41 NVME Dedicated Server

## Installation

### Install Rust

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

### Update Depencies

```bash
sudo apt update && sudo apt upgrade -y
sudo apt install make clang pkg-config libssl-dev build-essential git jq llvm libudev-dev protobuf-compiler
```

### Install CometBFT

```bash
curl -sL https://github.com/cometbft/cometbft/releases/download/v0.37.2/cometbft_0.37.2_linux_amd64.tar.gz | tar -C /usr/local/bin -xzf- cometbft
```

### Setup Variable

```bash
CHAIN_ID="shielded-expedition.88f17d1d14"
KEY_NAME="wallet"
VAL_NAME="<YOUR VALIDATOR NAME HERE>"
EMAIL="<YOUR EMAIL HERE>"
```

Don't change the CHAIN\_ID!!

### Add Variable to the machine

```bash
echo 'export CHAIN_ID='\"${CHAIN_ID}\" >> $HOME/.bash_profile
echo 'export KEY_NAME='\"${KEY_NAME}\" >> $HOME/.bash_profile
echo 'export VAL_NAME='\"${VAL_NAME}\" >> $HOME/.bash_profile
echo 'export EMAIL='\"${EMAIL}\" >> $HOME/.bash_profile
```

### Download Pre-built Namada Binary

```bash
wget https://github.com/anoma/namada/releases/download/v0.31.4/namada-v0.31.4-Linux-x86_64.tar.gz
tar xf namada-*.tar.gz
sudo mv namada-v0.31.4-Linux-x86_64/namada* /usr/local/bin/
rm -rf namada*
```

### Init Chain

```bash
namada client utils join-network --chain-id $CHAIN_ID
```

### Add Service File

```bash
sudo tee /etc/systemd/system/namadad.service << EOF
[Unit]
Description=Namada Node
After=network.target
[Service]
User=$USER
WorkingDirectory=$HOME/.local/share/namada
Type=simple
ExecStart=/usr/local/bin/namada --base-dir=$HOME/.local/share/namada node ledger run
Environment=NAMADA_CMT_STDOUT=true
Environment=TM_LOG_LEVEL=p2p:none,pex:error
RemainAfterExit=no
Restart=on-failure
RestartSec=10s
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
```

### Enable Namada Service

```bash
sudo systemctl enable namadad.service
sudo systemctl daemon-reload
sudo systemctl restart namadad.service
```

#### Check Namada Logs

```bash
sudo journalctl -u namadad.service 
```

#### Check Sync Status

```bash
curl -s localhost:26657/status | jq .result.sync_info.catching_up
```

If the result is `false` then your node already synced.

Note : that Syncing proccess usually takes some times, be patient.

### Next Step

After your node is synced Create the wallet

#### Generate New Key

```bash
namadaw gen --alias "${KEY_NAME}"
```

#### Recover Existing key

```bash
namadaw derive --alias "${KEY_NAME}"
```

#### Check Alias Address

```bash
namadaw find --alias "${KEY_NAME}"
```

#### List Keys

```bash
namadaw  list
```

#### Check Balance

```bash
namadac balance --owner "${KEY_NAME}"
```

After you create or import your wallet next step is to Init your validator

#### Init Validator

```bash
namadac  init-validator \
 --alias "${VAL_NAME}" \
 --account-keys "${KEY_NAME}" \
 --signing-keys "${KEY_NAME}" \
 --commission-rate 0.1 \
 --max-commission-rate-change 0.1 \
 --email "${EMAIL}"
```

If the transaction is success , wait for 2 Epoch!

1 Epoch = 10 Hours

After 2 Epoch restart your node

#### Restart Node after 2 Epoch

```bash
sudo systemctl restart namadad.service
```

### Bond Token Validator

```bash
namadac  bond \
 --source "${KEY_NAME}" \
 --validator "${VAL_NAME}" \
 --amount 1000
```

You can Change the `--amount` to whatever your have in your balance

Done.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.indonode.net/testnet/namada/installation.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
