$ 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 (Cosmos) rogue_4221-1 — use in every tx
EVM chain-id 4221 (0x107d) — MetaMask only; not needed to validate
Binary rogued (Cosmos SDK v0.53 / CometBFT v0.38 — use rogued comet …, not tendermint)
Node home ~/.evmd
Native denom arogue — atto-ROGUE, 18 decimals (1 ROGUE = 1000000000000000000 arogue)
Min gas price 0.0001arogue
Account prefix rogue1… / valoper roguevaloper1… (keys are eth_secp256k1, coin-type 60)
One-command install bash <(curl -sL http://dl.roguelayer.one/install.sh)
Binary download http://dl.roguelayer.one/rogued-linux-{amd64,arm64}musl-static, runs on any Linux distro (sha256 at the same URL + .sha256)
Genesis http://dl.roguelayer.one/genesis.json (sha256 1899469fc55dc292891e4d3d12d997524939a5bd7f1ddb1a37f4a831a8e5bf4d)
Seed / peer a4a5cdc25a5809acaedc68325019855f01fa8b35@seed.roguelayer.one:26656 (put in seeds and persistent_peers)
Sync method blocksync from the seed (state-sync not yet available — fine on a young chain)
Test ROGUE public faucet → https://faucet.roguelayer.one (~11,000 ROGUE per address / 24h; accepts rogue1… or 0x…)
Ports P2P 26656 (open inbound) · CometBFT RPC 26657 · REST 1317 · gRPC 9090 · EVM JSON-RPC 8545 (keep everything but 26656 bound to localhost on a validator)
OS / arch any modern x86-64 or arm64 Linux — static binary, no glibc or Go required

All values verified live (2026-06-18). The one-command installer wires the seed, genesis, gas price, and a hardened cosmovisor + systemd service for you; pick the right hardware from the prerequisites below.

Prerequisites

Resource Minimum Recommended
CPU 4 cores (x86-64 or arm64) 8 cores
RAM 16 GB 32 GB
Disk 200 GB NVMe SSD 500 GB NVMe
Network broadband; 26656/tcp outbound + port-forward 26656 inbound

NVMe is a hard requirement. CometBFT fsyncs every block. A spinning HDD or microSD will cause missed blocks and jail you within minutes. Do not cut corners here.

Port 26656/tcp is the only inbound port you must open. Behind home NAT you can get away with outbound-only (you dial the seed), but port-forwarding 26656 lets other peers dial you and improves connectivity. RPC (26657), REST (1317), gRPC (9090), and EVM (8545) must stay bound to localhost on a validator.

Device examples

  • Raspberry Pi 4/5 (8 GB RAM), 64-bit OS — arm64; the installer pulls rogued-linux-arm64.gz automatically. Mount your data directory on a USB3 NVMe/SSD enclosure — never use the microSD as the chain data drive. Fine for a light testnet validator.
  • Cloud VM — e.g. Hetzner CX42, GCP e2-standard-4, or DigitalOcean 4 vCPU · 16 GB; pick a plan labelled NVMe or SSD storage, and open port 26656 in the firewall dashboard.
  • Home bare-metal / mini-PC (NUC) — any modern x86-64 machine with 16 GB+ RAM and an NVMe drive. Behind home NAT is fine; the node dials out to the seed. Port-forwarding 26656 is optional but recommended.

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 (Cosmos) rogue_4221-1 — use in every tx
EVM chain-id 4221 (0x107d) — MetaMask only; not needed to validate
Binary rogued (Cosmos SDK v0.53 / CometBFT v0.38 — use rogued comet …, not tendermint)
Node home ~/.evmd
Native denom arogue — atto-ROGUE, 18 decimals (1 ROGUE = 1000000000000000000 arogue)
Min gas price 0.0001arogue
Account prefix rogue1… / valoper roguevaloper1… (keys are eth_secp256k1, coin-type 60)
One-command install bash <(curl -sL http://dl.roguelayer.one/install.sh)
Binary download http://dl.roguelayer.one/rogued-linux-{amd64,arm64}musl-static, runs on any Linux distro (sha256 at the same URL + .sha256)
Genesis http://dl.roguelayer.one/genesis.json (sha256 1899469fc55dc292891e4d3d12d997524939a5bd7f1ddb1a37f4a831a8e5bf4d)
Seed / peer a4a5cdc25a5809acaedc68325019855f01fa8b35@seed.roguelayer.one:26656 (put in seeds and persistent_peers)
Sync method blocksync from the seed (state-sync not yet available — fine on a young chain)
Test ROGUE public faucet → https://faucet.roguelayer.one (~11,000 ROGUE per address / 24h; accepts rogue1… or 0x…)
Ports P2P 26656 (open inbound) · CometBFT RPC 26657 · REST 1317 · gRPC 9090 · EVM JSON-RPC 8545 (keep everything but 26656 bound to localhost on a validator)
OS / arch any modern x86-64 or arm64 Linux — static binary, no glibc or Go required

All values verified live (2026-06-18). The one-command installer wires the seed, genesis, gas price, and a hardened cosmovisor + systemd service for you; pick the right hardware from the prerequisites below.

Prerequisites

Resource Minimum Recommended
CPU 4 cores (x86-64 or arm64) 8 cores
RAM 16 GB 32 GB
Disk 200 GB NVMe SSD 500 GB NVMe
Network broadband; 26656/tcp outbound + port-forward 26656 inbound

NVMe is a hard requirement. CometBFT fsyncs every block. A spinning HDD or microSD will cause missed blocks and jail you within minutes. Do not cut corners here.

Port 26656/tcp is the only inbound port you must open. Behind home NAT you can get away with outbound-only (you dial the seed), but port-forwarding 26656 lets other peers dial you and improves connectivity. RPC (26657), REST (1317), gRPC (9090), and EVM (8545) must stay bound to localhost on a validator.

Device examples

  • Raspberry Pi 4/5 (8 GB RAM), 64-bit OS — arm64; the installer pulls rogued-linux-arm64.gz automatically. Mount your data directory on a USB3 NVMe/SSD enclosure — never use the microSD as the chain data drive. Fine for a light testnet validator.
  • Cloud VM — e.g. Hetzner CX42, GCP e2-standard-4, or DigitalOcean 4 vCPU · 16 GB; pick a plan labelled NVMe or SSD storage, and open port 26656 in the firewall dashboard.
  • Home bare-metal / mini-PC (NUC) — any modern x86-64 machine with 16 GB+ RAM and an NVMe drive. Behind home NAT is fine; the node dials out to the seed. Port-forwarding 26656 is optional but recommended.

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