$ man archive

Run a RogueLayer Archive Node (newbie track)

What's an archive node? A full node that NEVER deletes old data. Block 1, block 1 million, block 10 million — all queryable forever.

You want this if: you run an explorer, do analytics, or need to query historical state. You don't want this if: you're an app, indexer, or validator. Use a pruned full node instead.

Time: 2 hours setup + days of initial sync. Cost: $80–200/month VPS (the disk is the expensive part).

Chain constants

Key Value
Chain ID roguelayer-1
Binary rogued
Native denom urogue (micro-ROGUE)
Display denom ROGUE (10^6 urogue)
Genesis URL TBD — set during launch
Seed peers TBD — set during launch
Persistent peers TBD — set during launch
P2P port 26656
RPC port 26657
REST/API port 1317
gRPC port 9090
EVM JSON-RPC 8545
Min Go version 1.22
Recommended OS Ubuntu 22.04 LTS / Debian 12

Note: TBD rows are intentional. They are filled in at chain launch. Doc lint tolerates TBD only in this shared file.

Prerequisites

Resource Minimum Recommended
CPU 4 cores 8 cores
RAM 8 GB 16 GB
Disk (SSD) 200 GB 500 GB
Network 100 Mbps symmetric 1 Gbps
OS Ubuntu 22.04 / Debian 12 same
Open ports 26656/tcp (P2P) inbound 26656/tcp
Go 1.22+ 1.22+
Tools git, make, jq, curl + systemd

Open P2P (26656) at your firewall. RPC/REST/gRPC ports should NOT be exposed to the public internet on a validator — bind to localhost or to a sentry.

Archive disk needs. Budget 1–2 TB NVMe SSD. Rotational/cheap SSD will not keep up — the chain commits faster than slow disk can sync. Pay for NVMe.

Step 1 — Build a full node

Follow full node newbie track all the way through Step 4 (systemd unit creation), but DO NOT start the service yet. We need to switch it to archive mode first.

Step 2 — Turn off pruning

Open ~/.rogued/config/app.toml. Find these settings and change them:

pruning = "nothing"
min-retain-blocks = 0

[state-sync]
snapshot-interval = 0
snapshot-keep-recent = 0

pruning = "nothing" is the magic word. It tells rogued to keep every historical state forever.

In ~/.rogued/config/config.toml, also confirm:

[tx_index]
indexer = "kv"

This indexes every transaction so historical queries work.

Step 3 — Start the node

sudo systemctl enable --now rogued
journalctl -u rogued -f

Watch the log. You'll see it pulling blocks from genesis. This is slow because it's processing every block ever. Multi-day syncs are normal.

While you wait, monitor disk:

df -h ~/.rogued/

If disk usage climbs faster than you have headroom, abort and provision more disk now.

Verify

After sync completes:

rogued query block 1

If it returns block 1 (the very first block), you're an archive node. A pruned full node would error out here.

Common failures

  • Disk fills up partway through sync. No recovery — the data is gone. Resize the volume / move to a bigger host and restart from genesis.
  • Sync is unbearably slow. Disk is the bottleneck. Switch to NVMe.

Dev track · Agent instructions

Run a RogueLayer Archive Node (dev track)

Archive = full node with pruning = "nothing" and min-retain-blocks = 0. Keeps all historical state. Needed for explorers, analytics, and historical RPC queries.

Chain constants

Key Value
Chain ID roguelayer-1
Binary rogued
Native denom urogue (micro-ROGUE)
Display denom ROGUE (10^6 urogue)
Genesis URL TBD — set during launch
Seed peers TBD — set during launch
Persistent peers TBD — set during launch
P2P port 26656
RPC port 26657
REST/API port 1317
gRPC port 9090
EVM JSON-RPC 8545
Min Go version 1.22
Recommended OS Ubuntu 22.04 LTS / Debian 12

Note: TBD rows are intentional. They are filled in at chain launch. Doc lint tolerates TBD only in this shared file.

Prerequisites

Resource Minimum Recommended
CPU 4 cores 8 cores
RAM 8 GB 16 GB
Disk (SSD) 200 GB 500 GB
Network 100 Mbps symmetric 1 Gbps
OS Ubuntu 22.04 / Debian 12 same
Open ports 26656/tcp (P2P) inbound 26656/tcp
Go 1.22+ 1.22+
Tools git, make, jq, curl + systemd

Open P2P (26656) at your firewall. RPC/REST/gRPC ports should NOT be exposed to the public internet on a validator — bind to localhost or to a sentry.

Disk requirement: budget 1–2 TB NVMe SSD. Archive grows linearly with chain age. Rotational disk cannot keep up.

Step 1 — Build a full node

Follow full node dev track up to Step 4 (systemd unit), but DO NOT start the service yet.

Step 2 — Turn off pruning

Edit ~/.rogued/config/app.toml:

pruning = "nothing"
min-retain-blocks = 0

[state-sync]
snapshot-interval = 0
snapshot-keep-recent = 0

Edit ~/.rogued/config/config.toml to confirm transaction indexing:

[tx_index]
indexer = "kv"

Step 3 — Start the node

sudo systemctl enable --now rogued
journalctl -u rogued -f

Full archive sync from genesis. Hours-to-days depending on chain age.

Verify

rogued query block 1 | jq '.block.header.height'   # → 1

If block 1 is queryable, you're an archive node. A pruned full node would error here.

Common failures

  • Disk fills up partway through sync. No recovery — the data is gone. Resize the volume / move to a bigger host and restart from genesis.
  • Sync is unbearably slow. Disk is the bottleneck. Switch to NVMe.

Newbie track · Agent instructions