Becoming a Validator
A quick guide to set up a validator node from scratch.
Read Cosmos contributor @larry0x’s documentation to get a basic idea of how this works for Cosmos-based.
Server Configuration
Server requirements:
- No. of CPUs: 16
- Memory: 32GB
- Disk: 500GB
- OS: Ubuntu 22.04 LTS
Allow all incoming connections from TCP port 26656 and 26657
Notes on the configurations.
- Multicore is important, regardless the less CPU time usage
- furyad uses less than 1GB memory and 2GB should be enough for now. Once your new server is running, login to the server and upgrade your packages.
Setup your machine
If you already have go 1.18+ and packages up to date, you can skip this part and jump to the second section: Setup the chain
Make sure your machine is up to date:
Install few packages:
Install Go 1.18+:
Setup your environnement (you can skip this part if you already had go installed before):
Verify the installation:
Setup the chain
Clone the Furya repository and install mainnet binary:
Init the chain:
Launch the node
You have multiple choice for launching the chain, choose the one that you prefer in the below list:
Manual
- Create a screen and setup limit of files
- Launch the chain
You can escape the screen pressing CTRL + AD
and enter it again using:
Systemctl
- Create service file
- Enable and launch the service file
- Setup the logs
To check the logs:
Cosmovisor
- Install cosmovisor
- Setup environment variables
- Create folders needed for upgrades
- Copy binaries to cosmovisor bin
- Create service file
- Enable and launch the service file
- Setup the logs
To check the logs:
Wait for the chain to synchronize with the current block… you can do the next step during this time
Setup validator for genesis validators
Copy node_key.json
and priv_validator_key.json
into home directory.
Setup validator for non-genesis validators
Create an account:
You can also you --recover
flag to use an already existed key (but we recommend for security reason to use one key per chain to avoid total loss of funds in case one key is missing)
You can check if you have fund on your address using this CLI command:
Once the fund are received and chain is synchronized you can create your validator:
validator_address
is the validator’s hex address. Your hex address can be found by running furyad status | jq
.
If your validator’s signature shows up in the list, congrats your validator has been successfully registered & is operating!
Was this page helpful?