# Validator Maintenance

Node operators are required to routinely update their validator's version of sx-node, maintain a high uptime (99%), and monitor the health of their instances. This section will evolve over time to include links and how-to guides essential to the duties of a node operator.

#### Updating to the latest version of sx-node

From within your `validator` directory:

```
git pull && chmod +x update_validator.sh && ./update_validator.sh "$(curl http://checkip.amazonaws.com)"
```

#### Running your node in safety mode

At times you might be required by an SX Admin to run your node in safety mode. This mode ensures your validator can only sync up to trusted validators. If asked, please follow the steps below:

1. Stop the sx-node service:

   ```
   sudo systemctl stop sx-node
   ```
2. Clear the data-dir within your `sx-node` directory:

   ```
   rm -rf data/blockchain/ data/trie/ data/consensus/snapshots data/consensus/metadata
   ```
3. Add the `bootnode_only_sync: true` field to the `config.yml` and save that file.

   For example your `config.yml` file might look something like:

   ```
   chain_config: /home/heisenberg/validator/sx-node/genesis.json
   data_dir: /home/heisenberg/validator/sx-node/data
   block_gas_target: 0x3938700
   grpc_addr: 0.0.0.0:10000
   jsonrpc_addr: 0.0.0.0:10002
   network:
     libp2p_addr: 0.0.0.0:10001
     nat_addr: 127.0.0.1
     bootnode_only_sync: true
   seal: true
   tx_pool:
     price_limit: 1000000000
   log_level: DEBUG
   gasprice_block_utilization_threshold: 0.95
   data_feed:
     verify_outcome_api_url: https://outcome-reporter.sx.technology/api/outcome
   ```
4. Restart the sx-node service:

   ```
   sudo systemctl daemon-reload && sudo systemctl restart sx-node
   ```
