Join the Titan mainnet
Latest version of RIZON is
v0.5.1
.You should refer to Magnus Upgrade, Gargantua Upgrade, Nebulae Upgrade in sequence when
v0.2.8
is halted.You need to install RIZON binary to join our network.
$ git clone https://github.com/rizon-world/rizon.git && cd rizon
$ git checkout v0.2.8
$ make install
And check the binary has installed.
$ rizond version
v0.2.8
Please refer Install RIZON Blockchain page for more details about prerequisites or supported OS, and so on.
After you finish installing the rizond binary, you can setup your initial node.
If you had setup the node, you should better clean existing configurations.
# remove old genesis.json file
$ rm -rf ~/.rizon/config/genesis.json
# reset old blockchain data
$ rizond unsafe-reset-all
And init your node.
$ rizond init <moniker> --chain-id titan-1
moniker
: the displayed name of your node over RIZON Blockchain network.chain-id
: the chain-id of the network that you want to connect. For mainnet, the chain-id is noticed at https://github.com/rizon-world/mainnet.
The genesis file is stored in
~/.rizon/config/genesis.json
. You will update this file next.The
genesis.json
file, which defines the initial states of your blockchain,is acting as the genesis block. The state which defined in the genesis.json
contains all the necessary information, such as initial token allocation, genesis time, default parameters, and more.You have to download the genesis.json file from https://raw.githubusercontent.com/rizon-world/mainnet/master/genesis.json and replace
~/.rizon/config/genesis.json
to join mainnet.$ wget https://raw.githubusercontent.com/rizon-world/mainnet/master/genesis.json
$ cp -f genesis.json ~/.rizon/config/genesis.json
You can check the checksum of genesis.json file.
$ jq -S -c -M '' ~/.rizon/config/genesis.json | shasum -a 256
# You can see the below.
5f00af49e86f5388203b8681f4482673e96acf028a449c0894aa08b69ef58bcb -
For the configuration of the node to connect Mainnet, we will modify two main configuration files of Rizon platform,
app.toml
and config.toml
.First edit the
~/.rizon/config/app.toml
file to prevent spamming. It rejects incoming transactions with less than the minimum gas prices.$ sed -i 's/minimum-gas-prices = ""/minimum-gas-prices = "0.0001uatolo"/g' ~/.rizon/config/app.toml
Then you should add at least one or more seed nodes to
~/.rizon/config/config.toml
to tell your node how find other peers. So open ~/.rizon/config/config.toml
file and edit seeds
of [p2p]
section.#######################################################
### P2P Configuration Options ###
#######################################################
[p2p]
...
# Comma separated list of seed nodes to connect to
seeds = "YOU_NEED_TO_UPDATE_HERE"
By default, the REST API endpoint is disabled. If you want to enable the endpoint, you need to open
~/.rizon/config/app.toml
file and edit enable
to true
of the [api]
section. You also can configure laddr by edting address
.###############################################################################
### API Configuration ###
###############################################################################
[api]
# Enable defines if the API server should be enabled.
enable = true
# Address defines the API server to listen on.
address = "tcp://0.0.0.0:1317"
As we finished the preparation to join the mainnet. Start node with command below.
$ rizond start
If there is no failure, node will launch and start to sync blockchain states from genesis.
4:06PM INF starting ABCI with Tendermint
4:06PM INF Starting multiAppConn service impl=multiAppConn module=proxy
...
4:06PM INF minted coins from module account amount=45519uatolo from=mint module=x/bank
4:06PM INF executed block height=1 module=state num_invalid_txs=0 num_valid_txs=0
4:06PM INF commit synced commit=436F6D6D697449447B5B3131332032343420333920343420313635203235203935203133352034302031383720393420393720373220383120323434203237203137382031383020313938203137302031373620333920333520393220323234203139382031393220313220313230203836203732203234335D3A317D
4:06PM INF committed state app_hash=71F4272CA5195F8728BB5E614851F41BB2B4C6AAB027235CE0C6C00C785648F3 height=1 module=state num_txs=0
4:06PM INF indexed block height=1 module=txindex
You need to wait until blocks are fully synced. You can check the sync is finished by command below.
$ rizond status 2>&1 | awk -F'catching_up":' '{print $2}' | cut -c -5
If command returns
false
, sync has finished. Otherwise, you need to wait longer.Before creating validator, you must have an account for your node and the validator.
RIZON Blockchain uses Cosmos SDK keyring implementation. The keyring holds the private/public keypairs used to interact with a node. For instance, a validator key needs to be set up before running the blockchain node, so that blocks can be correctly signed. The private key can be stored in different locations, called "backends", such as a file or the operating system's own key storage.
If you want to know more information of keyring, please see https://docs.cosmos.network/v0.42/run-node/keyring.html.
$ rizond keys add <wallet_name>
This command returns wallet address and mnemonic. You must remember the results.
# recover from mnemonic
$ rizond keys add <wallet_name> --recover
or
# import from private_key
$ rizond keys import <wallet_name> <private_key_file>
The command may requires system password. If you don't want to use any password, you can use
--keyring-backend test
flag, but we do not recommend this for use in production environments.After the node is fully synced, you can create validator via send
create-validator
tx to join mainnet.See the sample command below.
$ rizond tx staking create-validator \
--amount="1000000uatolo" \
--pubkey=$(rizond tendermint show-validator) \
--moniker="your_node_moniker" \
--commission-rate="0.10" \
--commission-max-rate="0.20" \
--commission-max-change-rate="0.01" \
--min-self-delegation="1" \
--from your_key_name \
--chain-id=titan-1 \
--fees="1000uatolo"
flag | desc |
amount | Amount of coins to bond |
pubkey | The Bech32 encoded PubKey of the validator |
moniker | The validator's name |
commission-rate | The initial commission rate percentage |
commission-max-rate | The maximum commission rate percentage |
commission-max-change-rate | The maximum commission change rate percentage (per day) |
min-self-delegation | The minimum self delegation required on the validator |
from | Name or address of private key with which to sign |
chain-id | The network chain ID to connect |
fees | Fees to pay along with transaction |
Once the
create-validator
transaction has completed, you can check whether your validator has been properly added via command below.$ rizond q tendermint-validator-set | grep `rizond tendermint show-address`
You can modify your validator information whenever you want. Please refer this help.
$ rizond tx staking edit-validator --help
Last modified 2mo ago