> For the complete documentation index, see [llms.txt](https://stavr-team.gitbook.io/nodes-guides/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://stavr-team.gitbook.io/nodes-guides/testnets/viper/node-installation.md).

# Node Installation

## EXPLORER

* **Minimum hardware requirements**:

| Node Type | CPU | RAM | Storage |
| --------- | --- | --- | ------- |
| Testnet   | 4   | 8GB | 150GB   |

## 1) Auto\_install script

```bash
SOOON
```

## 2) Manual installation

#### Preparing the server

```bash
sudo apt update && sudo apt upgrade -y
sudo apt install curl tar wget clang pkg-config libssl-dev jq build-essential bsdmainutils git make ncdu gcc git jq chrony liblz4-tool -y
```

### GO 1.21.6

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

## Build 24.09.24

```bash
cd $HOME && mkdir -p go/bin/
sudo mkdir -p viper-network
cd viper-network
sudo git clone https://github.com/vipernet-xyz/viper-binaries
cd viper-binaries
sudo cp viper_linux_amd64 /usr/local/bin/viper
```

## Chain

```python
viper util gen-chains
```

* `0001`
* `http://127.0.0.1:8082/`

```
viper util gen-geozone
```

* `0D02`

`viper network version`

* AppVersion: PT-0.1.8

### Create/import wallet

```bash
viper wallet create-account
           OR
viper wallet import-encrypted <encrypted>
viper wallet import-raw <pk>
```

### Create Validator Address

```
viper servicers create-validator <address>
```

## Peer

```
echo $(viper util print-configs) | jq '.tendermint_config.P2P.PersistentPeers = "859674aa64c0ee20ebce8a50e69390698750a65f@mynode1.testnet.vipernet.xyz:26656,eec6c84a7ededa6ee2fa25e3da3ff821d965f94d@mynode2.testnet.vipernet.xyz:26656,81f4c53ccbb36e190f4fc5220727e25c3186bfeb@mynode3.testnet.vipernet.xyz:26656,d53f620caab13785d9db01515b01d6f21ab26d54@mynode4.testnet.vipernet.xyz:26656,e2b1dc002270c8883abad96520a2fe5982cb3013@mynode5.testnet.vipernet.xyz:26656"' | jq . > ~/.viper/config/configuration.json
```

### Download Genesis

```python
cd ~/.viper/config
wget -O ~/.viper/config/genesis.json https://raw.githubusercontent.com/vipernet-xyz/genesis/main/testnet/genesis.json
ulimit -Sn 16384
```

## Create a service file

```bash
sudo tee /etc/systemd/system/viper.service > /dev/null << EOF
[Unit]
Description=viper service
After=network.target
Wants=network-online.target systemd-networkd-wait-online.service

[Service]
User=root
Group=sudo
ExecStart=/usr/local/bin/viper network start
ExecStop=/usr/local/bin/viper network stop

[Install]
WantedBy=default.target
EOF
```

## SnapShot Testnet updated every 5 hours

```bash
SOON
```

### Start

```bash
sudo systemctl daemon-reload
sudo systemctl enable viper.service
sudo systemctl restart viper.service && journalctl -fu viper -o cat
```

```python
#Check Balance
viper wallet query account-balance <address>
#Stake & Create Validator
viper servicers stake self <address> 20000000000 0001 0D02 https://<hostname or ip>:443 testnet
```

## [🧩Services and Tools🧩](https://stavr-team.gitbook.io/nodes-guides/testnets/viper/statesync-snapshot)

## Monitoring

You can set up your node status alarm here - [Monitoring](https://stavr-team.gitbook.io/nodes-guides/monitoring)

## Security

You can create secure management of your wallet and your node by following this links.

[TMKMS](https://stavr-team.gitbook.io/nodes-guides/tmkms)               [Wallet Security](https://stavr-team.gitbook.io/nodes-guides/wallet-security)

### Delete node

```bash
cd ~/.viper
rm -r data
rm -r viper_evidence.db
rm -r viper_result.db
sudo git clone https://github.com/vishruthsk/data.git data
cd config
rm addrbook.json
sudo systemctl restart viper.service
journalctl -u viper -f
```
