Skip to main content

Run a Full Node

A full node receives all published transactions and tokenchain details from the network. This guide walks you through setting up a full node.

Prerequisites

Before proceeding, make sure you have:

The setup flow for a full node is the same as a regular node, with one extra flag at the end.

1. Init Config

./rubixgoplatform init -p fullnode0

Edit the generated config.toml inside the fullnode0/ directory:

[core]
node_index = 0
network_mode = "testnet"
enable_trusted_network = false

[db]
host = "localhost"
username = "rubix"
password = "rubixpass"
db_name = "rubix"

Set network_mode to "testnet" or "mainnet" depending on which network the full node should operate on.

For the full config.toml field reference, see Run Rubix Locally — Configuration Reference.

2. Setup Postgres

Run Postgres in Docker. Match the host port to your node_index (formula: 5433 + node_index):

docker run --name fullnode-postgres \
-e POSTGRES_PASSWORD=rubixpass \
-e POSTGRES_USER=rubix \
-e POSTGRES_DB=rubix \
-p 5433:5432 \
-v fullnode-pgdata:/var/lib/postgresql \
--restart always \
-d postgres

The POSTGRES_USER, POSTGRES_PASSWORD, and POSTGRES_DB values must match the [db] section of your config.toml.

3. Run the Full Node

Start your node with the -fullnode flag:

./rubixgoplatform run -p fullnode0 -fullnode

Flags:

FlagDescription
-pPath to the node directory (where config.toml lives).
-fullnodeRun the node as a full node — subscribes to all published transactions and tokenchain details.
-defaultSetup(Optional) Add default faucet quorums for testing.

Troubleshooting

Postgres container won't start

Check if another container is already using the host port:

docker ps -a

Stop the conflicting container, or assign a different node_index (which shifts the expected Postgres port).

Connection refused from Rubix to Postgres

  • Verify the container is running: docker ps
  • Verify the host port matches (5433 + node_index)
  • Verify the credentials in config.toml match the docker run environment variables