Become a Validator

A validator is a participant in the network who runs validator nodes to run and secure the network. Here are some steps to run a validator node in REI Network:

Step1: Setup a validator node

Following quick start to setup your nodes and make sure your validator node is fully synced.

Minimum system requirements

  • RAM: 16GB
  • CPU: 4-core
  • Storage: 500G SSD
  • Bandwidth: 10Mb/s
  • RAM: 32GB
  • CPU: 8-core
  • Storage: 1T SSD
  • Bandwidth: Unlimited

Step2: Submit a Validator Profile

This repository (repo) provides the details about offchain informations of validators.

Step3: Vote/Stake to your node

You can stake on REI Network by following the guides below:

Step4: Set commission rate

Commission rate represents the proportion of the validator's reward, which is a number from 0 to 100. It can only be set by the validator, and the interval between 2 modifications cannot be less than 24 hours.
Eg: If a validator sets the Commission rate to 40, then 40% of the rewards he receives will be distributed to all users who voted for this validator.
UI
Ethers
  • If the address in your wallet is a validator address, there will be a Set Commission Rate button appears beside Voting to Validator
Set Commission Rate
  • Click on Set Commission Rate and enter a percent number you wanna share with voters
Set Commission Rate
import { getDefaultProvider, Wallet } from "ethers";
import { StakeManager__factory } from "@rei-network/contracts";
const provider = getDefaultProvider("https://rpc-mainnet.rei.network");
const wallet = new Wallet("yourPrivateKey", provider);
const stakeManager = StakeManager__factory.connect(
"0x0000000000000000000000000000000000001001",
wallet
);
stakeManager
.setCommissionRate("commissionRate")
.then(() => {
// ...
})
.catch(() => {
// ...
});

Step5: Claim validator reward

UI
Ethers
Click on Get Reward and Claim block producer rewards in the validator list
import { getDefaultProvider, Wallet } from "ethers";
import { StakeManager__factory } from "@rei-network/contracts";
const provider = getDefaultProvider("https://rpc-mainnet.rei.network");
const wallet = new Wallet("yourPrivateKey", provider);
const stakeManager = StakeManager__factory.connect(
"0x0000000000000000000000000000000000001001",
wallet
);
stakeManager
.startClaim("receiveAddress", "claimAmount")
.then(() => {
// ...
})
.catch(() => {
// ...
});
Node: The reward will be vested for 7 days before you can finally claim it, checkout Claim Vested Stake