Before you begin, ensure that you have the following:
A VPS or Dedicated Server:
Minimum Requirements:
CPU: 4 cores
RAM: 8 GB
Storage: 200 GB SSD
Bandwidth: 1 Gbps
Recommended:
CPU: 8 cores
RAM: 16 GB
Storage: 500 GB NVMe SSD
Operating System:
Ubuntu 20.04 LTS or later.
Basic Knowledge of Linux Command Line.
Nesa Wallet:
Ensure you have a Nesa wallet with some initial funds for staking.
SSH Access:
Secure and reliable SSH access to your server.
Update your system:
sudo apt update && sudo apt upgrade -yInstall essential packages:
sudo apt install build-essential curl wget git -ySet up a firewall (optional but recommended):
sudo apt install ufw -y sudo ufw allow ssh sudo ufw allow 26656/tcp sudo ufw enable
Install Go (version 1.20 or later):
wget <https://golang.org/dl/go1.20.5.linux-amd64.tar.gz> sudo tar -C /usr/local -xzf go1.20.5.linux-amd64.tar.gz export PATH=$PATH:/usr/local/go/binVerify Go installation:
go versionInstall other dependencies:
sudo apt install jq -y
Clone the Nesa repository:
git clone <https://github.com/nesa-network/nesa.git> cd nesaBuild the Nesa binary:
make installVerify installation:
Initialize the node:
nesa init <YourNodeName> --chain-id nesa-mainnetDownload the genesis file:
wget -O ~/.nesa/config/genesis.json <https://raw.githubusercontent.com/nesa-network/mainnet/master/genesis.json>Configure persistent peers:
PEERS="node1@<ip>:26656,node2@<ip>:26656" sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \\"$PEERS\\"/" ~/.nesa/config/config.tomlSet minimum gas prices:
sed -i.bak -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \\"0.025unesa\\"/" ~/.nesa/config/app.tomlPruning options (optional):
sed -i.bak -e "s/^pruning *=.*/pruning = \\"custom\\"/" ~/.nesa/config/app.toml sed -i.bak -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \\"100\\"/" ~/.nesa/config/app.toml sed -i.bak -e "s/^pruning-interval *=.*/pruning-interval = \\"10\\"/" ~/.nesa/config/app.toml
Start the Nesa service:
nesa startCheck logs to ensure everything is running smoothly:
journalctl -u nesa -f
Create a new wallet (if you don't have one):
nesa keys add <wallet-name>Fund your wallet with the necessary amount of Nesa tokens.
Create the validator:
nesa tx staking create-validator \\ --amount=1000000unesa \\ --pubkey=$(nesa tendermint show-validator) \\ --moniker="<YourNodeName>" \\ --chain-id=nesa-mainnet \\ --commission-rate="0.10" \\ --commission-max-rate="0.20" \\ --commission-max-change-rate="0.01" \\ --min-self-delegation="1" \\ --gas=auto \\ --from=<wallet-name> \\ --yesVerify your validator status:
nesa query staking validator $(nesa tendermint show-validator)
Set up alerts for node downtime using tools like Prometheus or Grafana.
Regularly update your node by pulling the latest changes from the Nesa repository.
Participate in governance by voting on proposals.

