How to Rizon 🚀 Mainnet Guide
1. Node installation
# Update system packages, if needed $ sudo apt update && sudo apt upgrade -y
# Install go 1.17.2 (anything greater than 1.15 fits well) $ version="1.17.2" \ && cd $HOME \ && wget "https://golang.org/dl/go$version.linux-amd64.tar.gz" \ && sudo rm -rf /usr/local/go \ && sudo tar -C /usr/local -xzf "go$version.linux-amd64.tar.gz" \ && rm "go$version.linux-amd64.tar.gz" \ && echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile \ && source $HOME/.bash_profile $ go version go version go1.16.7 linux/amd64
# Install make/gcc/jq $ sudo apt install -y make gcc jq
# Install rizon binaries $ cd $HOME $ git clone https://github.com/rizon-world/rizon.git $ cd rizon/ $ git checkout v0.2.8 $ make install
Check the version of the binaries, at the time of the post 20 Jan 2022 mainnet is on v0.2.8
$ rizond version v0.2.8
2. Node initialization and configuration
# Init system variables
$ RIZON_CHAIN=titan-1
$ RIZON_NODENAME="YOUR_NODE_NAME"
$ RIZON_WALLET="wallet"
$ echo 'export RIZON_CHAIN='$RIZON_CHAIN >> $HOME/.bash_profile
$ echo 'export RIZON_NODENAME='${RIZON_NODENAME} >> $HOME/.bash_profile
$ echo 'export RIZON_WALLET='${RIZON_WALLET} >> $HOME/.bash_profile
$ source $HOME/.bash_profile# Initialize the node $ rizond init $RIZON_NODENAME --chain-id $RIZON_CHAIN
# Setting up genesis.json and verify it's checksum $ wget https://raw.githubusercontent.com/rizon-world/mainnet/master/genesis.json $ cp -f genesis.json ~/.rizon/config/genesis.json $ jq -S -c -M '' ~/.rizon/config/genesis.json | shasum -a 256 5f00af49e86f5388203b8681f4482673e96acf028a449c0894aa08b69ef58bcb -
# Set minimum gas prices to prevent spamming $ sed -i 's/minimum-gas-prices = ""/minimum-gas-prices = "0.0001uatolo"/g' \ $HOME/.rizon/config/app.toml # Set production seeds $ seeds="83c9cdc2db2b4eff4acc9cd7d664ad5ae6191080@seed-1.mainnet.rizon.world:26656,ae1476777536e2be26507c4fbcf86b67540adb64@seed-2.mainnet.rizon.world:26656,8abf316257a264dc8744dee6be4981cfbbcaf4e4@seed-3.mainnet.rizon.world:26656" $ sed -i.bak -e "s/^seeds *=.*/seeds = \"$seeds\"/" $HOME/.rizon/config/config.toml
Blockchain database tends to grow over time, depending e.g. on block speed and transaction amount.
There are few configurations that can be done to reduce the required disk usage quite significantly.
By default every 500th state, and the last 100 states are kept. This consumes a lot of disk space on long run, and can be optimized with following custom configuration.
# Update pruning to save disk space $ sed -i 's/pruning = "default"/pruning = "custom"/g' \ $HOME/.rizon/config/app.toml $ sed -i 's/pruning-keep-recent = "0"/pruning-keep-recent = "100"/g' \ $HOME/.rizon/config/app.toml $ sed -i 's/pruning-interval = "0"/pruning-interval = "10"/g' \ $HOME/.rizon/config/app.toml
If you do not need to query transactions from the specific node, you can disable indexing.
# Disable indexing, if you don't need query transactions $ sed -i 's/indexer = "kv"/indexer = "null"/g' \ $HOME/.rizon/config/config.toml
# Create a service file $ sudo tee <<EOF >/dev/null /etc/systemd/system/rizond.service [Unit] Description=Rizon Node After=network-online.target [Service] User=$USER ExecStart=$HOME/go/bin/rizond start Restart=on-failure RestartSec=10 LimitNOFILE=10000 [Install] WantedBy=multi-user.target EOF
# Enable the service and tail its logs $ sudo systemctl daemon-reload $ sudo systemctl enable rizond $ sudo systemctl restart rizond $ sudo journalctl -u rizond -f --no-hostname -o cat
Wait until node is completely synced, for me it took about day an a half, in order to check that node is completely synced use the following commands.
# Check synced status $ $HOME/go/bin/rizond status 2>&1 | jq ."SyncInfo"."catching_up" 'true' - node is NOT synced 'false' - node is synced
3. Create wallet
# Create new key
$ rizond keys add $RIZON_WALLET
# Save valoper address to env variables
$ RIZON_VALOPER=$(rizond keys show $RIZON_WALLET --bech val -a)
$ echo $RIZON_VALOPER
$ echo 'export RIZON_VALOPER='${RIZON_VALOPER} >> $HOME/.bash_profile
$ source $HOME/.bash_profile4. Request tokens
You can ask community to help you with the initial batch of tokens. Write me directly hdmiimdh#7913 or ask for the help in #titan-validator discord channel.
Alternatively you can buy the tokens on one of the exchanges listing it. In order to start your validator 10 ATOLO is enough.
Once you get them, verify the balance.
# Get wallet address $ rizond keys list # Check balance $ rizond query bank balances WALLET_ADDRESS
5. Create validator
# Create validator, providing your balance is not empty rizond tx staking create-validator \ --amount="9000000uatolo" \ --pubkey=$(rizond tendermint show-validator) \ --moniker="$RIZON_NODENAME" \ --details="Hello world!" \ --commission-rate="0.10" \ --commission-max-rate="0.20" \ --commission-max-change-rate="0.01" \ --min-self-delegation="1" \ --from=$RIZON_WALLET \ --chain-id=$RIZON_CHAIN \ --fees="1000uatolo"
Once the create-validator transaction has completed, you can check whether your validator has been properly added via explorer. Search your node by name (moniker) in both Active and Inactive sections.
6. Upload validator image
In order to upload validator image you need to use cosmostation_token_resource repository, there's detailed description of the steps, but overall flow should look like :
1. Fork cosmostation token resource repo to your own GitHub account.
git clone git@github.com:YOUR_ACCOUNT/cosmostation_token_resource.git cd cosmostation_token_resource git checkout -b YOUR_BRANCH_NAME
3. Upload you image to cosmostation_token_resource/moniker/rizon, rename the image to the format of your_valoper_address.png to get your valoper address use the below command.
# Get valoper address rizond keys show $RIZON_WALLET --bech val -a
4. Commit and push the changes.
git add -A git commit -m "Add YOUR_VALIDATOR_NAME" git push origin YOUR_BRANCH_NAME
5. Create pull request, make sure that on the left hand side is original cosmos project and on the right hand side your project with the recently created branch.
When it's merged you'll should be able to see the logo of the validator in explorer.
7. Useful commands
# Get rizond logs $ journalctl -u rizond -f # Check validator status $ rizond q staking validator $RIZON_VALOPER # Get list of active validators $ rizond query staking validators --limit 2000 -oj | jq -r '.validators[] | select(.status=="BOND_STATUS_BONDED") | [(.tokens|tonumber), .description.moniker] | @csv' | column -t -s"," | sort -k1 -n -r | nl # Delegate 1 token $ rizond tx staking delegate $RIZON_VALOPER 10000000uatolo \ --chain-id $RIZON_CHAIN --from $RIZON_WALLET --gas auto --fees 1000uatolo # Unjail validator $ rizond tx slashing unjail --chain-id $RIZON_CHAIN \ --from $RIZON_WALLET --fees="1000uatolo" # Get commission $ rizond tx distribution withdraw-rewards $RIZON_VALOPER \ --from $RIZON_WALLET --commission # Get rewards $ rizond tx distribution withdraw-all-rewards --from $RIZON_WALLET # Trasfer 1 token from your wallet to rizon1py.... address $ rizond tx bank send $RIZON_WALLET rizon1py.... 10000000uatolo
Discord https://discord.gg/DvZFA7mpuX
English telegram news channel https://t.me/rizon_atolo_news_en
English telegram community channel https://t.me/rizon_atolo_en
Any help is very much appreciated.
my rizon wallet rizon1py7dgk8tdx09jevad6rfpraurctuykmawwjr0n my rizon validator address rizonvaloper1py7dgk8tdx09jevad6rfpraurctuykmaa2szdr