Skip to main content

Mainnet

This document outlines the steps to join an existing mainnet.

Prerequisite Readings

Join Mainnet

You need to set the genesis file and seeds. If you need more information about past networks, check our mainnet repo. The table below gives an overview of all Mainnet Chain IDs. Note that, the displayed version might differ when an active Software Upgrade proposal exists on chain. :::warning IMPORTANT: If you join mainnet as a validator make sure you follow all the security recommendations! :::

Server Timezone Configuration

Make sure your server timezone configuration is UTC. To know what is your current timezone, run the timedatectl command. :::danger 🚨 DANGER: Having a different timezone configuration may cause a LastResultsHash mismatch error. This will take down your node! :::

Install hyperpaxd

Follow the installation document to install the hyperpaxd binary. :::warning Make sure you have the right version of hyperpaxd installed. :::

Save Chain ID

We recommend saving the mainnet chain-id into your hyperpaxd’s client.toml. This will make it so you do not have to manually pass in the chain-id flag for every CLI command. :::tip See the Official Chain IDs for reference. :::

Initialize Node

We need to initialize the node to create all the necessary validator and node configuration files:
:::danger Monikers can contain only ASCII characters. Using Unicode characters will render your node unreachable. ::: By default, the init command creates your ~/.hyperpaxd (i.e $HOME) directory with subfolders config/ and data/. In the config directory, the most important files for configuration are app.toml and config.toml.

Genesis & Seeds

Copy the Genesis File

Download the genesis.json file from the archive and copy it over to the config directory: ~/.hyperpaxd/config/genesis.json. This is a genesis file with the chain-id and genesis accounts balances.
Then verify the correctness of the genesis configuration file:

Add Seed Nodes

Your node needs to know how to find peers. You’ll need to add healthy seed nodes to $HOME/.hyperpaxd/config/config.toml. The mainnet repo contains links to some seed nodes. Edit the file located in ~/.hyperpaxd/config/config.toml and the seeds to the following:
You can use the following code to get seeds from the repo and add it to your config:
:::tip For more information on seeds and peers, you can the Tendermint P2P documentation. :::

Add Persistent Peers

We can set the persistent_peers field in ~/.hyperpaxd/config/config.toml to specify peers that your node will maintain persistent connections with.

Run a Mainnet Validator

:::tip For more details on how to run your validator, follow the validator these instructions. :::
:::danger 🚨 DANGER: Never create your validator keys using a test keying backend. Doing so might result in a loss of funds by making your funds remotely accessible via the eth_sendTransaction JSON-RPC endpoint. Ref: Security Advisory: Insecurely configured geth can make funds remotely accessible :::

Start mainnet

The final step is to start the nodes. Once enough voting power (+2/3) from the genesis validators is up-and-running, the node will start producing blocks.

Share your Peer

You can share your peer to posting it in the #find-peers channel in the HyperPaxeer Discord. :::tip To get your Node ID use
:::

State Syncing a Node

If you want to join the network using State Sync (quick, but not applicable for archive nodes), check our State Sync page.