Skip to main content

Seed Node

This guide will cover setting up a seed node for the Oasis Network. This guide assumes some basic knowledge on the use of command line tools.

Prerequisites

Before following this guide, make sure you've followed the Prerequisites Guide and understand how to use the oasis-node binary.

Creating a Working Directory

We will be creating the following directory structure inside a chosen top-level /node (feel free to name your directories however you wish) directory:

  • etc: This will store the node configuration and genesis file.

  • data: This will store the data directory needed by the running oasis-node binary, including the complete blockchain state.

    The directory permissions should be rwx------.

To create the directory structure, use the following command:

mkdir -m700 -p /node/{etc,data}

Copying the Genesis File

The latest genesis file can be found in the Network Parameters page (Mainnet, Testnet). You should download the latest genesis.json file and copy it to the /node/etc directory we just created.

Configuration

info

This will configure the given node to only act as a seed node.

In order to configure the node create the /node/etc/config.yml file with the following content:

mode: seed
common:
data_dir: /node/data
log:
format: JSON
level:
cometbft: info
cometbft/context: error
default: info

genesis:
file: /node/etc/genesis.json
caution

Make sure the consensus port (default: 26656) and p2p.port (default: 9200) are exposed and publicly accessible on the internet (for TCP and UDP traffic).

Starting the Oasis Node

You can start the node by running the following command:

oasis-node --config /node/etc/config.yml

Seed node address

To get the seed node Tendermint identity, run the following command:

oasis-node identity tendermint show-node-address --datadir /node/data/

Share seed node address

Nodes can now use your seed node by specifying it via a configuration flag:

--consensus.tendermint.p2p.seed <TENDERMINT_ADDRESS>@<EXTERNAL_IP>:26656