# 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
```


---

# 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://services.nodesync.top/cosmos-testnet/side-protocol.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.
