For the complete documentation index, see llms.txt. This page is also available as Markdown.

πŸ”Œ Installation

Gno.land Topaz Node Setup Guide

This guide covers how to set up a Gno.land Topaz full node on an Ubuntu VPS, create a systemd service, and maintain the node with useful day-to-day commands.

Note: Topaz testnet parameters may change over time. Before installing, verify the current chain_id, genesis file, branch, and peer information from official Gno.land sources or the latest network announcements.

Overview

Network: Gno.land Topaz
Chain ID: topaz-1
P2P Port: 26656
Local RPC: 127.0.0.1:26657
Branch: chain/topaz
Data path: /root/gno/gnoland-data

This guide does not expose RPC publicly. RPC is kept local on 127.0.0.1:26657. For external network connectivity, only the P2P port 26656/tcp is required.

Server Requirements

Recommended minimum:

CPU: 4 cores
RAM: 8 GB
Disk: 200 GB+ SSD
OS: Ubuntu 22.04 / 24.04
Network: 100 Mbps+

Environment Variables

The guide uses the following variables:

Replace MONIKER with your own node name.

1. Prepare the System

Update the server:

Install required packages:

Enable time synchronization:

2. Configure Firewall

If you use UFW, allow SSH and the P2P port:

Do not expose the RPC port publicly:

3. Install Go

Remove any old Go installation:

Download and install Go:

Add Go and Gno paths:

Verify the installation:

4. Build Gno From Source

Clone the repository:

Build the binaries:

Verify the binaries:

The expected gnoland binary path is usually:

5. Prepare Genesis and Initial Data

If an old or broken node data directory exists, make sure the service is stopped first:

Download the Topaz genesis file:

Check the genesis hash:

Genesis hash used by current setup references:

Initialize node config and secrets:

6. Configure the Node

Set your moniker and the main node parameters:

Replace YOUR-SERVER-IP with your VPS public IP address.

Check the config:

RPC should remain local:

P2P should listen publicly:

7. Test Manual Startup

Before creating the service, run a short manual test:

In another SSH session, check the local RPC:

If it works, stop the manually running node with CTRL + C.

8. Create a Systemd Service

Create the service file:

Service file:

Enable and start the service:

Check the service status:

Follow live logs:

9. Check Sync and Node Status

RPC status:

Sync status:

Latest block height:

Peer count:

Validator set:

10. Useful Service Commands

Start the node:

Stop the node:

Restart the node:

Check service status:

Follow live logs:

Show the last 100 log lines:

Enable the service on boot:

Disable the service on boot:

11. Useful Node Commands

Check the binary:

Check ports:

Show node ID:

Show validator public key:

View node config:

Quickly check P2P and RPC settings:

12. Log and Disk Maintenance

Check disk usage:

Find the largest log files:

Check journal usage:

Configure journald limits:

Keep these values active:

Apply the changes:

13. Update the Node

Stop the service before updating:

Update the source code:

Rebuild the binaries:

Verify the version:

Start the service:

14. Backup

Back up config and secret files:

Download the backup to another machine:

15. Quick Troubleshooting

If the node does not start:

If RPC does not respond:

If there are no peers:

If the disk is full:

After changing the config:

Sources

Last updated