# Setting up a validator

### Pre-Requisites

A validator can be run on a VPS or Dedicated server/VM\
\
Minimum requirements:\
4 physical core CPU\
Memory: 8GB+\
Disk: SSD - 500GB+\
Ubuntu 18.04 +

Make sure to create/import a cli wallet before trying to publish the node.

### Setting up the Validator from scratch

1. Download the latest release\
   This can be found at : <https://github.com/shentufoundation/shentu/releases>
2. Run the shentud binary to&#x20;
3. Download the new genesis.

   ```
   wget https://raw.githubusercontent.com/ShentuChain/mainnet/main/shentu-2.2/genesis.json.
   ```
4. Place the genesis under `.shentud/config`

   ```
   mv genesis.json ~/.shentud/config/genesis.json
   ```
5. Add the seed nodes in `config/config.toml`.\
   These can be found at : <https://github.com/shentufoundation/mainnet/blob/main/shentu-2.2/seeds.txt>

   example :

   ```
   seeds = "bc9bbcae77a09b41417f597965f6fcbb8b280892@52.71.99.85,fd2944af442b18dab4ce50d8e001816a38490d56@54.158.108.97,3edd4e16b791218b623f883d04f8aa5c3ff2cca6@shentu-seed.panthea.eu:36656"
   ```
6. Download the snapshot:
   1. Official Shentu Snapshot \
      <https://shentu-data-snapshot-light.s3.amazonaws.com/shentu.tar.gz>
   2. Community member snapshots.\
      <https://polkachu.com/tendermint_snapshots/shentu>\
      <https://valhalla.panthea.eu/snapshots/shentu-snapshot.tar.lz4>
7. Unzip/Unpack the snapshot into your .shentud directory.&#x20;
8. Start shentud daemon.
9. (Optional) Run Shentud daemon as a system service

   save the following content as `shentud.service` under `/etc/systemd/system/`

   ```
   [Unit]
   Description=Shentud Daemon
   After=network-online.target

   [Service]
   User=ubuntu
   ExecStart=/home/ubuntu/shentud start --home /home/ubuntu/.shentud
   Restart=always
   RestartSec=3
   LimitNOFILE=4096
   [Install]
   WantedBy=multi-user.target
   ```

   remember to replace the `User` to your corresponding username. remember to replace the `ExecStart` to your corresponding path.
10. Enable and start shentud system service.

    ```
    sudo systemctl enable shentud
    sudo systemctl start shentud
    ```
11. If you see that you are on the height of the chain (check log) you can progress with publishing your validator to the chain.
12. Make sure you have a wallet imported or created. \
    See [creating-a-cli-wallet](https://shentu-chain.gitbook.io/shentu-chain/validators/creating-a-cli-wallet "mention")
13. Keep in mind that the minimum staked amount is 1 CTK this is 1000000uctk

    example:

    ```
    shentud tx staking create-validator \
    --amount <your-amount-to-stake>uctk \
    --commission-max-change-rate 0.01 \
    --commission-max-rate 0.2 \
    --commission-rate 0.1 \
    --from <your-wallet-name> \
    --min-self-delegation 1 \
    --moniker <your-moniker> \
    --pubkey $(shentud tendermint show-validator) \
    --chain-id shentu-2.2 \
    --fees 5000uctk
    ```
