> For the complete documentation index, see [llms.txt](https://services.liveraven.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://services.liveraven.net/cosmos-testnets/union/maintenance.md).

# Maintenance

{% tabs %}
{% tab title="⚡️ Utility" %}

#### UPDATE PORTS

{% code overflow="wrap" fullWidth="false" %}

```bash
CUSTOM_PORT=11
```

{% endcode %}

**set custom ports in config.toml file**

{% code overflow="wrap" fullWidth="false" %}

```bash
sed -i.bak -e "s%:26658%:${CUSTOM_PORT}658%g;
s%:26657%:${CUSTOM_PORT}657%g;
s%:6060%:${CUSTOM_PORT}060%g;
s%:26656%:${CUSTOM_PORT}656%g;
s%:26660%:${CUSTOM_PORT}660%g" $HOME/.union/config/config.toml
```

{% endcode %}

**set custom ports in app.toml**

{% code overflow="wrap" fullWidth="false" %}

```bash
sed -i.bak -e "s%:1317%:${CUSTOM_PORT}317%g;
s%:8080%:${CUSTOM_PORT}080%g;
s%:9090%:${CUSTOM_PORT}090%g;
s%:9091%:${CUSTOM_PORT}091%g;
s%:8545%:${CUSTOM_PORT}545%g;
s%:8546%:${CUSTOM_PORT}546%g;
s%:6065%:${CUSTOM_PORT}065%g" $HOME/.union/config/app.toml
```

{% endcode %}

**set custom ports in client.toml file**

{% code overflow="wrap" fullWidth="false" %}

```bash
sed -i.bak -e "s%:26657%:${CUSTOM_PORT}657%g" $HOME/.union/config/client.toml
```

{% endcode %}

#### UPDATE INDEXER

**Disable indexer**

{% code overflow="wrap" fullWidth="false" %}

```bash
sed -i -e 's|^indexer *=.*|indexer = "null"|' $HOME/.union/config/config.toml
```

{% endcode %}

**Enable indexer**

{% code overflow="wrap" fullWidth="false" %}

```bash
sed -i -e 's|^indexer *=.*|indexer = "kv"|' $HOME/.union/config/config.toml
```

{% endcode %}

#### UPDATE PRUNING

{% code overflow="wrap" fullWidth="false" %}

```bash
sed -i   -e 's|^pruning *=.*|pruning = "custom"|' \
  -e 's|^pruning-keep-recent *=.*|pruning-keep-recent = "100"|' \
  -e 's|^pruning-keep-every *=.*|pruning-keep-every = "0"|' \
  -e 's|^pruning-interval *=.*|pruning-interval = "19"|' \
  $HOME/.union/config/app.toml
```

{% endcode %}
{% endtab %}

{% tab title="🚨 Maintenance" %}

#### GET VALIDATOR INFO

{% code overflow="wrap" fullWidth="false" %}

```bash
uniond status 2>&1 | jq .ValidatorInfo
```

{% endcode %}

#### GET SYNC INFO

{% code overflow="wrap" fullWidth="false" %}

```bash
uniond status 2>&1 | jq .SyncInfo
```

{% endcode %}

#### GET NODE PEER

{% code overflow="wrap" fullWidth="false" %}

```bash
echo $(uniond tendermint show-node-id)'@'$(curl -s ifconfig.me)':'$(cat $HOME/.union/config/config.toml \
| sed -n '/Address to listen for incoming connection/{n;p;}' | sed 's/.*://; s/".*//')
```

{% endcode %}

#### CHECK IF VALIDATOR KEY IS CORRECT

{% code overflow="wrap" fullWidth="false" %}

```bash
[[ $(uniond q staking validator $(uniond keys show wallet --bech val -a) -oj \
| jq -r .consensus_pubkey.key) = $(uniond status | jq -r .ValidatorInfo.PubKey.value) ]] \
&& echo -e "\n\e[1m\e[32mTrue\e[0m\n" || echo -e "\n\e[1m\e[31mFalse\e[0m\n"
```

{% endcode %}

#### GET LIVE PEERS

{% code overflow="wrap" fullWidth="false" %}

```bash
curl -sS http://localhost:15657/net_info \
| jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' \
| awk -F ':' '{print $1":"$(NF)}'
```

{% endcode %}

#### SET MINIMUM GAS PRICE

{% code overflow="wrap" fullWidth="false" %}

```bash
sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0.0muno\"/" $HOME/.union/config/app.toml
```

{% endcode %}

#### ENABLE PROMETHEUS

{% code overflow="wrap" fullWidth="false" %}

```bash
sed -i -e "s/prometheus = false/prometheus = true/" $HOME/.union/config/config.toml
```

{% endcode %}

#### RESET CHAIN DATA - !!!BE CAREFUL HERE!!!

{% code overflow="wrap" fullWidth="false" %}

```bash
uniond tendermint unsafe-reset-all --keep-addr-book --home $HOME/.union --keep-addr-book
```

{% endcode %}

#### REMOVE NODE

Please, before proceeding with the next step! All chain data will be lost! Make sure you have backed up your priv\_validator\_key.json!

{% code overflow="wrap" fullWidth="false" %}

```bash
cd $HOME
sudo systemctl stop uniond.service
sudo systemctl disable uniond.service
sudo rm /etc/systemd/system/uniond.service
sudo systemctl daemon-reload
rm -f $(which uniond)
rm -rf $HOME/.union
rm -rf $HOME/uniond
```

{% endcode %}
{% endtab %}

{% tab title="⚙️ Service Management" %}

#### RELOAD SERVICE CONFIGURATION

{% code overflow="wrap" fullWidth="false" %}

```bash
sudo systemctl daemon-reload
```

{% endcode %}

#### ENABLE SERVICE

{% code overflow="wrap" fullWidth="false" %}

```bash
sudo systemctl enable uniond.service
```

{% endcode %}

#### DISABLE SERVICE

{% code overflow="wrap" fullWidth="false" %}

```bash
sudo systemctl disable uniond.service
```

{% endcode %}

#### START SERVICE

{% code overflow="wrap" fullWidth="false" %}

```bash
sudo systemctl start uniond.service
```

{% endcode %}

#### STOP SERVICE

{% code overflow="wrap" fullWidth="false" %}

```bash
sudo systemctl stop uniond.service
```

{% endcode %}

#### RESTART SERVICE

{% code overflow="wrap" fullWidth="false" %}

```bash
sudo systemctl restart uniond.service
```

{% endcode %}

#### CHECK SERVICE STATUS

{% code overflow="wrap" fullWidth="false" %}

```bash
sudo systemctl status uniond.service
```

{% endcode %}

#### CHECK SERVICE LOGS

{% code overflow="wrap" fullWidth="false" %}

```bash
sudo journalctl -u uniond.service -f --no-hostname -o cat --since 1h
```

{% endcode %}
{% endtab %}
{% endtabs %}
