Running a Validator
Being a validator means playing a critical role in Settlus, including generating or validating blocks, as well as proposing or voting on governance proposals. Validators will receive some rewards for block validation. This guide will detail the process of running a validator on Settlus.
Prerequisites
Being A Validator
In Settlus, After genesis, governance is the only way to participate as a validator in PoSA phase. Here's example on how to create MsgCreateValidatorByGov
proposal.
Get your own validator pubkey by running the command below in your machine with binary.
Use governance module's
draft-proposal
transaction to createdraft_proposal.json
file after run the below command.
Select
create-validator-by-gov
option for shortcut and follow the instruction. Here's sample proposal file ofdraft_proposal.json
.
Submit the proposal with appropriate options.
After the proposal is passed, the validator set will be automatically updated. If it fails, the validator set will remain unchanged.
Running Interop-Node Service
If you are a validator, you must run interop-node service along with Settlus binary in order to participate in oracle module's voting system. For interop-node detail, check interop-node page.
Build inter-op node
Then, a build
folder will be created under tools/interop-node
, and the interop-node binary will also be generated within this build
folder. Alternatively, you can use the latest release from the Settlus repository.
Initialize interop-node
Initialize the config file, or execute the command below in the directory where the binary is located. After running the command, the config file will be placed in the ~/.interop
directory.
Edit the config file with appropriate values and run the interop-node.
Set Config
Here's sample config file for interop-node.
Run as a Daemon
Same as Cosmovisor, it is recommended to run interop-node
as a daemon along with settlusd
as a systemd service.
Service definition example:
In the example, interop-node
binary is located in /usr/local/bin
. Change it with appropriate location. And manage the service with below commands.
Slashing
Settlus disincentivizes validators when they engage in abnormal or suspicious behavior, or when they do not actively participate in maintaining the network. In addition to the basic slashing policy of Cosmos-SDK's slashing module, penalties can also be imposed under the policies of the x/oracle module. The scenarios for receiving a penalty are as follows:
Missed the consensus signing more than
min_signed_per_window
parameter defined in x/slashing module.Missed the oracle vote more than
MaxMissCountPerSlashWindow
parameter defined in x/oracle module.
Unjail the validator
If a validator is jailed, jailed validator must submit unjail
transaction from operator address to get block reward again.
Last updated