Running the NodeInstructions to start the node and productionize it are provided below.

After completing the installation steps , it is time to run the node. The first step is to obtain the genesis file. It can be downloaded from Exocore’s testnets repository.

wget -O $HOMEDIR/config/genesis.json <https://raw.githubusercontent.com/ExocoreNetwork/testnets/main/genesis/$CHAIN_ID.json>

It is also recommended to verify that the genesis file generated from the bootstrap contract matches the one above; however, that is out of scope for this document.

Starting the Node

Start your node and test it out. Validators must also set up and run the oracle price feeder tool as described on the previous page.

# As a validator using the embedded oracle price feeder
exocored --home $HOMEDIR start --oracle
# Other cases
exocored --home $HOMEDIR start

Checking Node Status

You can check the status of your node at anytime. However, the output you should expect will change depending on whether your node is started before the network launch or after it.

Before the Network Launches

Exocore's bootstrap contract provides an offset duration (of 24 hours) before the network’s spawn time to provide enough time for the initial validator set to come online. If you’re one of them and you’re on time, you should see something like this in the logs.

4:29AM INF Genesis time is in the future. Sleeping until then... genTime=2024-08-31T22:58:52Z module=server server=node

You should also be able to see if you’re in the initial validator set.

4:29AM INF This node is a validator addr=38A21AA8D3386568C4FC0B041F16B77A9D7F06AB module=consensus pubKey=PubKeyEd25519{F0F6919E522C5B97DB2C8255BFF743F9DFDDD7AD9FC37CB0C1670B480D0F9914} server=node

If you have both of those lines, it means that everything is working and you simply need to launch Exocore as a systemd service.

After the Network has Launched

It may take some time for the node to establish connection with the seeds and obtain peers; however, once that is done, you will see multiple lines containing executed block

4:02AM INF executed block height=6447467 module=state num_invalid_txs=0 num_valid_txs=0 server=node

You can query the block height and see it increasing.