Skip to content

Commit

Permalink
Merge pull request #618 from AnaGlorija/patch-1
Browse files Browse the repository at this point in the history
  • Loading branch information
cyborgshead authored May 28, 2022
2 parents bc71a12 + 11f5665 commit 2168846
Showing 1 changed file with 14 additions and 14 deletions.
28 changes: 14 additions & 14 deletions docs/run_validator.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@

First, you should set up a server.
Your node should be online constantly. This means that you will need a reliable server.
You may also consider using any cloud service with a dedicated GPU, like Hetzner, Cherryservers etc. (or use a local machine). Whatever you choose, for better stability and consistency we recommend to use a dedicated server for each validator node.
You may also consider using any cloud service with a dedicated GPU, like Hetzner, Cherryservers etc. (or use a local machine). Whatever you choose, in order to achieve better stability and consistency we recommend you use a dedicated server for each validator node.

Cyber is based on Cosmos-SDK and is written in Go.
It should work on any platform which can compile and run programs in Go.
However, we strongly recommend running the validator node on a Linux-based server.
We strongly recommend running the validator node on a Linux-based server.

Cyber-rank computations are performed on GPU, so it is required to have it (GPU) on-board your node.

Expand All @@ -26,21 +26,21 @@ Software: Ubuntu 18.04 LTS / 20.04 LTS

*Cyber runs well on consumer-grade cards like Geforce GTX 1070, but we expect load growth and advise you use Error Correction compatible cards from Tesla or Quadro families. Also, make sure your card is compatible with >= v.410 of NVIDIA driver.*

Of course, the hardware is your own choice and technically it might be possible to run the node on *"even - 1 CUDA core GPU"*, but you should be aware of performance drop and rank calculation speed decline.
Of course the hardware is your own choice and technically it might be possible to run the node on *"even - 1 CUDA core GPU"*, but you should be aware of performance drop and rank calculation speed decline.

## Node setup

*To avoid possible misconfiguration issues and simplify the setup of `$ENV`, we recommend to perform all the commands as `root` (here root - is literally root, not just a user with root priveliges). For the case of a dedicated server for cybernode it should be considered as ok from the security standpoint.*
*To avoid possible misconfiguration issues and simplify the setup of `$ENV`, we recommend to perform all the commands as `root` (here root - is literally root, not just a user with root priveliges). For the case of a dedicated server for cybernode it should be concidered as ok from the security side.*

### Third-party software

The main distribution unit for Cyber is a [docker](https://www.docker.com/) container. All images are located in the default [Dockerhub registry](https://hub.docker.com/r/cyberd/cyber). In order to access the GPU from the container, Nvidia driver version **410+** and [Nvidia docker runtime](https://github.com/NVIDIA/nvidia-docker) should be installed on the host system.

All commands below suppose `amd64` architecture, but the different architectures commands may differ accordingly.
All commands below suppose `amd64` architecture, as the different architectures commands may differ accordingly.

### Docker installation

Simply, copy the commands below and paste into CLI.
Simply copy the commands below and paste into CLI.

1. Update the `apt` package index:

Expand Down Expand Up @@ -128,13 +128,13 @@ driver : nvidia-driver-460 - third-party free recommended
driver : xserver-xorg-video-nouveau - distro free builtin
```

4. We need the **410+** drivers release. As you can see, v460 is recommended. The command below will install the recommended version of the drivers:
4. We need the **410+** drivers release. As you can see the v460 is recommended. The command below will install the recommended version of the drivers:

```bash
sudo ubuntu-drivers autoinstall
```

To install specific version of driver use `sudo apt install nvidia-driver-460`
To install specific version of a driver use `sudo apt install nvidia-driver-460`


The driver installation takes approximately 10 minutes.
Expand Down Expand Up @@ -339,7 +339,7 @@ After your node has successfully synced, you can run a validator.

### Prepare the staking address

1. To proceed further you need to add your existing address to the node, or generate one and fund it.
1. To proceed further you need to add your existing address to the node or generate one and fund it.

To **create** a new one use:

Expand All @@ -365,7 +365,7 @@ docker exec -ti bostrom cyber keys add <your_key_name> --ledger
```

**<your_key_name>** is any name you pick to represent this key pair.
You have to refer to that name later, when you use cli to sign transactions.
You have to refer to that name later when you use cli to sign transactions.

### Send the create validator transaction

Expand Down Expand Up @@ -396,15 +396,15 @@ docker exec -ti bostrom cyber tx staking create-validator \
docker exec -ti bostrom cyber query staking validators
```

If you see your `<your_node_nickname>` with status `Bonded` and Jailed `false`, everything is good.
If you see your `<your_node_nickname>` with the status `Bonded` and Jailed `false` everything is good.
You are validating the network.

## Maintenance of the validator

### Jailing

If your validator went under slashing conditions, it will be jailed.
After such an event, an operator must unjail the validator manually:
If your validator got under slashing conditions, it will be jailed.
After such an event an operator must unjail the validator manually:

```bash
docker exec -ti bostrom cyber tx slashing unjail --from=<your_key_name> --chain-id bostrom --gas-prices 0.01boot --gas 300000
Expand All @@ -415,7 +415,7 @@ docker exec -ti bostrom cyber tx slashing unjail --from=<your_key_name> --chain-
Your identity as a validator consists of two things:

- your account (to sign transactions)
- your validator private key (to sign stuff on chain consensus layer)
- your validator private key (to sign stuff on the chain consensus layer)

Please back up `$HOME/.cyber/config/priv_validator_key.json` along with your seed phrase. In case of occasional node loss you would be able to restore your validator operation with this file and another full node.

Expand Down

0 comments on commit 2168846

Please sign in to comment.