# Side Protocol

* `Website` - <https://side.one/>
* `Twitter` - <https://twitter.com/SideProtocol>
* `Telegram` - <https://t.me/SideProtocolOfficial>
* `Discord` - <https://discord.gg/sideprotocol>
* `Github` <https://github.com/sideprotocol>
* Explorer - <https://explorer.side.exchange/testnet/staking>
* Explorer NodeSync: <https://explorer.nodesync.top/Side-Testnet-3/>
* **Faucet on Discord**&#x20;

**Public API endpoints (RPC/ REST)**&#x20;

* RPC: <https://rpc.side-testnet.nodesync.top/>[ ](https://side-testnet-rpc.nodesync.top)
* API: <https://side-testnet-api.nodesync.top>

## **1. Minimum hardware requirement**

4 Cores, 8G Ram, 200G SSD, Ubuntu 22.04

## 2. Auto Install

Release: <mark style="color:red;">**side-testnet-2**</mark>

```
sudo apt install curl -y && source <(curl -s https://nodesync.top/side_protocol_auto)
```

### 2.1 Wallet

Add New Wallet Key

```
sided keys add wallet
```

Recover existing key

```
sided keys add wallet --recover
```

List All Keys

```
sided keys list
```

### 2.2 Query Wallet Balance

```
sided q bank balances $(sided keys show wallet -a)
```

### 2.3 Check sync status

<mark style="color:red;">**False is synced**</mark>

```
sided status 2>&1 | jq .SyncInfo.catching_up
```

### 2.4 Create Validator

Change your info

```
sided tx staking create-validator \
  --amount=1000000uside \
  --pubkey=$(sided tendermint show-validator) \
  --moniker="Your_moniker" \
  --identity=your_id_keybase  \
  --details="your_info" \
  --chain-id="side-testnet-2" \
  --commission-rate="0.10" \
  --commission-max-rate="0.20" \
  --commission-max-change-rate="0.01" \
  --min-self-delegation="1" \
  --fees="200uside" \
  --from=wallet
```

### 2.5 Edit Existing Validator&#x20;

```
sided tx staking edit-validator \
--new-moniker="XXXXXX" \
--identity=XXXXXXX \
--details="XXXXXXX" \
--website="XXXXXX" \
--chain-id=side-testnet-2 \
--from=wallet \
--gas-prices=0.5uside \
--gas-adjustment=1.5 \
--gas=auto \
-y
```

### 2.6 Delegate Token to your own validator

```
sided tx staking delegate $(sided keys show wallet --bech val -a) 1000000uside --from wallet --chain-id side-testnet-2 --gas-prices 0.5uside --gas-adjustment 1.5 --gas auto -y
```

### 2.7 Withdraw rewards and commission from your validator

```
sided tx distribution withdraw-rewards $(sided keys show wallet --bech val -a) --from wallet --commission --chain-id side-testnet-2 --gas auto --fees 1000uside -y
```

### 2.8 Unjail validator

```
sided tx slashing unjail --from wallet--chain-id side-testnet-2 --gas auto --fees 1000uside -y
```

### 2.9 Services Management

```
# Reload Service
sudo systemctl daemon-reload

# Enable Service
sudo systemctl enable sided

# Disable Service
sudo systemctl disable sided

# Start Service
sudo systemctl start sided

# Stop Service
sudo systemctl stop sided

# Restart Service
sudo systemctl restart sided

# Check Service Status
sudo systemctl status sided

# Check Service Logs
sudo journalctl -u sided -f --no-hostname -o cat
```

## 3. Backup Validator

<mark style="color:red;">**Important**</mark>

```
cat $HOME/.side/config/priv_validator_key.json
```

## 4. Remove node

```
sudo systemctl stop sided && sudo systemctl disable sided && sudo rm /etc/systemd/system/sided.service && sudo systemctl daemon-reload && rm -rf $HOME/.side && rm -rf $HOME/.sidechain && rm -rf sidechain && rm -rf rebus.core && sudo rm -rf $(which sided)
```

## 5. Change Port

**You can change&#x20;**<mark style="color:red;">**16**</mark>**&#x20;number is random port**

```
port_side=16
echo "export $port_side" >> $HOME/.bash_profile
sided config node tcp://localhost:${port_side}657
sed -i.bak -e "s%:1317%:${port_side}317%g; s%:8080%:${port_side}080%g; s%:9090%:${port_side}090%g; s%:9091%:${port_side}091%g; s%:8545%:${port_side}545%g; s%:8546%:${port_side}546%g; s%:6065%:${port_side}065%g" $HOME/.side/config/app.toml
sed -i.bak -e "s%:26658%:${port_side}658%g; s%:26657%:${port_side}657%g; s%:6060%:${port_side}060%g; s%:26656%:${port_side}656%g; s%:26660%:${port_side}660%g" $HOME/.side/config/config.toml
sudo systemctl daemon-reload
sudo systemctl restart sided && sudo journalctl -u sided -f --no-hostname -o cat
```
