Mainnet binary version
The correct version of the binary for mainnet at genesis is
v1.0.0. Its release page can be found here.
Below is the list of Rebus mainnet id's and their current status. You will need to know the version tag for installation of the
|chain-id||Description||Status||Block Start||Block Finish|
|reb_1111-1||This is the first chain-id from the genesis.||current||0||N/A|
Recommended Minimum Hardware
The minimum recommended hardware requirements for running a validator for the Rebus mainnet are:
These specifications are the minimum recommended. As Rebus Network is a smart contract platform, it can at times be very demanding on hardware. Low spec validators WILL get stuck on difficult to process blocks.
Note that the mainnet will accumulate data as the blockchain continues. This means that you will need to expand your storage as the blockchain database gets larger with time.
To get up and running with the rebusd binary, please follow the instructions here.
Configuration of Shell Variables
For this guide, we will be using shell variables. This will enable the use of the client commands verbatim. It is important to remember that shell commands are only valid for the current shell session, and if the shell session is closed, the shell variables will need to be re-defined.
If you want variables to persist for multiple sessions, then set them explicitly in your shell .profile, as you did for the Go environment variables.
To clear a variable binding, use
unset $VARIABLE_NAME . Shell variables should be named with ALL CAPS.
Choose the required mainnet chain-id
<chain-id> for the mainnet you would like to join from
CHAIN_ID=<chain-id> # Example CHAIN_ID=reb_1111-1
You can also set this in your
Then source it:
Set your moniker name
<moniker-name>, this can be any name of your choosing and will identify your validator in the explorer. Set the
MONIKER_NAME=<moniker-name> # Example MONIKER_NAME="ValidatorT1000"
Setting the peers
Active and running peers will be required to tell your node where to connect to other nodes and join the network. To retrieve the peers for the chosen mainnet:
#Set the base repo URL for the testnet & retrieve peers CHAIN_REPO="https://raw.githubusercontent.com/rebuschain/rebus.mainnet/master" && \ export PEERS="$(curl -s "$CHAIN_REPO/seeds.txt")" # check it worked echo $PEERS
NB: If you are unsure about this, you can ask in discord for the current peers and explicitly set them in
Set minimum gas prices
$HOME/.rebusd/config/app.toml, set minimum gas prices:
sed -i.bak -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0.0008arebus\"/" ~/.rebusd/config/app.toml
The above configuration will set the validator to accept both
IBC Atom as fees for transactions
Setting up the Node
These instructions will direct you on how to initialize your node, synchronize to the network and upgrade your node to a validator.
Initialize the chain
rebusd init $MONIKER_NAME --chain-id $CHAIN_ID
This will generate the following files in
Download the genesis file
curl https://raw.githubusercontent.com/rebuschain/rebus.mainnet/master/genesis.json > ~/.rebusd/config/genesis.json
This will replace the genesis file created using
rebusd init command with the mainnet
Setting the peers
Using the peers variable we set earlier, we can set the
sed -i.bak -e "s/^seeds *=.*/seeds = \"$PEERS\"/" ~/.rebusd/config/config.toml
Create (or restore) a local key pair
Either create a new key pair, or restore an existing wallet for your validator:
# Create new keypair rebusd keys add <key-name> --coin-type 118 --algo secp256k1 # Restore existing rebus wallet with mnemonic seed phrase. # You will be prompted to enter mnemonic seed. rebusd keys add <key-name> --recover --coin-type 118 --algo secp256k1 # Query the keystore for your public address rebusd keys show <key-name> -a
<key-name> with a key name of your choosing.
After creating a new key, the key information and seed phrase will be shown. It is essential to write this seed phrase down and keep it in a safe place. The seed phrase is the only way to restore your keys.
Get some Rebus tokens
You will require some Rebus tokens to bond to your validator. To be in the active set you will need to have enough tokens to be in the top 125 validators by delegation weight.
If you do not have any Rebus tokens for you validator you can purchase tokens here.
Follow these instructions to setup cosmovisor and start the node.
Using cosmovisor is completely optional. If you choose not to use cosmovisor, you will need to be sure to attend network upgrades to ensure your validator does not have downtime and get jailed.
Syncing the node
After starting the rebusd daemon, the chain will begin to sync to the network. The time to sync to the network will vary depending on your setup and the current size of the blockchain, but could take a very long time. To query the status of your node:
# Query via the RPC (default port: 26657) curl http://localhost:26657/status | jq .result.sync_info.catching_up
If this command returns
true then your node is still catching up. If it returns
false then your node has caught up to the network current block and you are safe to proceed to upgrade to a validator node.
Upgrade to a validator
Do not attempt to upgrade your node to a validator until the node is fully in sync as per the previous step.
To upgrade the node to a validator, you will need to submit a
rebusd tx staking create-validator \ --amount 9000000arebus \ --commission-max-change-rate "0.1" \ --commission-max-rate "0.20" \ --commission-rate "0.1" \ --min-self-delegation "1" \ --details "validators write bios too" \ --pubkey=$(rebusd tendermint show-validator) \ --moniker $MONIKER_NAME \ --chain-id $CHAIN_ID \ --gas-prices 0.0025arebus \ --from <key-name>
The above transaction is just an example. There are many more flags that can be set to customise your validator, such as your validator website, or keybase.io id, etc. To see a full list:
rebusd tx staking create-validator --help
Backup critical files
There are certain files that you need to backup to be able to restore your validator if, for some reason, it damaged or lost in some way. Please make a secure backup of the following files located in
It is recommended that you encrypt the backup of these files.