Run a Full Node with Docker

Use the latest TRN docker image to get your full node started quickly. Check out the latest version of the docker image here.

# Root Mainnet
docker run \\
    -p 9944:9944 \\
    --name=root-full-node \\
    --volume=root-full-node:/root \\
    ghcr.io/futureversecom/seed:latest \\
    --chain=root \\
    --name="My Root Full Node" \\
    --sync=warp

# Porcini Testnet
docker run \\
    -p 9944:9944 \\
    --name=porcini-full-node \\
    --volume=porcini-full-node:/root \\
    ghcr.io/futureversecom/seed:latest \\
    --chain=porcini \\
    --name="My Porcini Full Node" \\
    --sync=warp

The 9944 port mapping is for WebSocket and HTTP endpoints. You only need the port mapping if you want to use your node as backend node for your dapps.

Run a Full Node from Source

First, install Rust. You may need to add Cargo's bin directory to your PATH environment variable.

curl <https://sh.rustup.rs> -sSf | sh

If you already have Rust installed, ensure you are using the latest version by running:

rustup update

Build the client by cloning this repository, find the latest version in the [Releases section] and run the following commands from the root directory of the repository:

git clone <https://github.com/futureversecom/trn-seed> trn-seed
cd trn-seed
git checkout -b latest <version_tag>
cargo build --release

After the source code is built successfully, you can start your full node with the following command:

# Root Mainnet
./target/release/seed --chain=root \\
                      --name="My Root Full Node" \\
                      --sync=warp

# Porcini Testnet
./target/release/seed --chain=porcini \\
                      --name="My Porcini Full Node" \\
                      --sync=warp

Run an Archive Node

The instructions above will have your node running as a full node, to establish an archive node you will need to follow a few additional steps.

  1. Download the latest snapshot.
# Root Mainnet
BASE_URL="<https://s3.ap-southeast-2.amazonaws.com/snapshots.cicd.rootnet.app/snapshots/archive.rootnet>" && \\
wget "$BASE_URL/`curl "$BASE_URL/latest-snapshot.txt"`"

# Porcini Testnet
BASE_URL="<https://s3.ap-southeast-2.amazonaws.com/snapshots.cicd.rootnet.app/snapshots/archive.porcini>" && \\
wget "$BASE_URL/`curl "$BASE_URL/latest-snapshot.txt"`"
  1. Extract the snapshot to your node's data directory.
  2. Before running your node, include the following flags, ensuring that the -base-path points to the directory where the snapshot was extracted.