Join The Mainnet

TIP

Requirements: install iris

Run a Full Node

Start node from genesis

TIP

We recommend running a full node via state sync (see the next subsection). But if you want to start from genesis, you must use irishub v1.0.1open in new window to initialize your node.

# initialize node configurations
iris init <moniker> --chain-id=irishub-1

# download mainnet public config.toml and genesis.json
curl -o ~/.iris/config/config.toml https://raw.githubusercontent.com/irisnet/mainnet/master/config/config.toml
curl -o ~/.iris/config/genesis.json https://raw.githubusercontent.com/irisnet/mainnet/master/config/genesis.json

# start the node (you can also use "nohup" or "systemd" to run in the background)
iris start

Next, your node will process all chain upgrades. Between each upgrade, you must use the specified version to catch up with the block. Don't worry about using the old version at the upgrade height, the node will be halted automatically.

ProposalStart heightUpgrade heightirishub version
genesis91464569593205v1.0.1open in new window
#1open in new window9593206v1.1.0open in new window, v1.1.1open in new window
#8open in new window1239304812534300v1.2.0open in new window, v1.2.1open in new window
#11open in new window1416691814301916v1.3.0open in new window
#19open in new window17685953v1.4.1open in new window
#39open in new window19514010v2.0.0open in new window

TIP

You may see some connection errors, it does not matter, the P2P network is trying to find available connections

Try to add some of the Community Peersopen in new window to persistent_peers in the config.toml

If you want to quickly start the node and join IRIS Hub without historical data, you can consider using the state_sync function.

Quick Start via State Sync

To quickly get started, node operators can choose to sync via State Sync. State Sync works by replaying larger chunks of application state directly rather than replaying individual blocks or consensus rounds.

The newest state sync configs can be found hereopen in new window. Please remember to modify state sync configs.

# Build iris binary and initialize chain
iris init <moniker> --chain-id=irishub-1

# Configure State sync
[statesync]
enable = true
rpc_servers = "http://34.82.96.8:26657,http://34.77.68.145:26657"
trust_height = 19511000
trust_hash = "65cbc3a14f81d07ff2367202af1bd1a9c958800e643aedfc80518ec642e89eb8"
trust_period = "168h"  # 2/3 of unbonding time

#Start Iris
iris start --x-crisis-skip-assert-invariants

Upgrade to Validator Node

Create a Wallet

You can create a new wallet or import an existing one, then get some IRIS from the exchanges or anywhere else into the wallet you just created, .e.g.

# create a new wallet
iris keys add <key-name>

WARNING

Important

write the seed phrase in a safe place! It is the only way to recover your account if you ever forget your password.

Confirm your node has caught-up

# if you have not installed jq
# apt-get update && apt-get install -y jq

# if the output is false, means your node has caught-up
iris status | jq .sync_info.catching_up

Create Validator

Only if your node has caught-up, you can run the following command to upgrade your node to be a validator.

iris tx staking create-validator \
    --pubkey=$(iris tendermint show-validator) \
    --moniker=<your-validator-name> \
    --amount=<amount-to-be-delegated, e.g. 10000iris> \
    --min-self-delegation=1 \
    --commission-max-change-rate=0.1 \
    --commission-max-rate=0.1 \
    --commission-rate=0.1 \
    --gas=100000 \
    --fees=0.6iris \
    --chain-id=irishub-1 \
    --from=<key-name>

WARNING

Important

Backup the config directory located in your iris home (default ~/.iris/) carefully! It is the only way to recover your validator.

If there are no errors, then your node is now a validator or candidate (depending on whether your delegation amount is in the top 100)

Read more:

Faucet

Request IRISnet mainnet tokens from the Faucet powered by Stakely.

For the usage, please refer to the guideline on the Faucet page: https://stakely.io/faucet/irisnet-iris