$ 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.gzautomatically. 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.
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.gzautomatically. 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.