Skip to main content

Archive Node

This guide will cover setting up an archive node for the Oasis Network. Node started in archive mode only serves existing consensus and runtime states. The node has all unneeded consensus and P2P functionality disabled, therefore it will not participate in the network. Archive nodes can be used to access historic state which is pruned in dump-restore network upgrades.

Prerequisites

Running an archive node requires a pre-existing oasis-node state. If you don't have one, you can download a snapshot of a specific network state here.

Configuration (Oasis Core 23 and later)

Starting from the Oasis Core version 23, the configuration for enabling archive mode has changed. Use the mode setting:

info

This setting configures the node to act as an archive node.

mode: archive
common:
data_dir: /node/data
log:
format: JSON
level:
cometbft: info
cometbft/context: error
default: info
genesis:
file: /node/etc/genesis.json
runtime:
# Paths to ParaTime bundles for all of the supported ParaTimes.
paths:
- {{ runtime_orc_path }}
info

Keep all other settings the same as those for a full client node. For example, to serve archived runtime state, the node needs to have the runtime configured and the state present.

Configuration (Oasis Core 22 and earlier)

For all pre-Eden networks, such as Damask, the configuration remains the same but requires the appropriate version of oasis-node and the node state.

Damask

To run an archive node for Damask, use Oasis Core v22.2.13 and the following configuration:

datadir: /node/data

log:
level:
default: info
tendermint: info
tendermint/context: error
format: JSON

genesis:
file: /node/etc/genesis.json

consensus:
tendermint:
mode: archive

runtime:
mode: client
paths:
# Paths to ParaTime bundles for all of the supported ParaTimes.
- "{{ runtime_orc_path }}"

Cobalt

To run an archive node for Cobalt, use Oasis Core v21.3.14 and the following configuration:

datadir: /node/data

log:
level:
default: info
tendermint: info
tendermint/context: error
format: JSON

genesis:
file: /node/etc/genesis.json

consensus:
tendermint:
mode: archive

runtime:
supported:
- "{{ runtime_id }}"

paths:
"{{ runtime_id }}": {{ paratime_binary_path }}

worker:
storage:
enabled: true
warning

Ensure you are using the correct version of oasis-node and the pre-existing state for your specific pre-Eden network.

Starting the Oasis Node

You can start the node by running the following command:

oasis-node --config /node/etc/config.yml

Archive node status

To ensure the node is running in archive mode, run the following command:

oasis-node control status -a unix:/node/data/internal.sock

Output should report archive consensus mode status:

{
// other fields omitted ...
"mode": "archive",
// ...
}

Version Compatibility Matrix

The following tables outline the version compatibility matrix for running archive nodes for different network generations.

Testnet

Network UpgradeGenesis URLCompatible VersionsSnapshot URL
a02020-09-15Oasis Core v20.10.220200915-20201104
b02020-11-04Oasis Core v20.12.820201104-20210203
c02021-02-03Oasis Core v20.12.820210203-20210324
c12021-03-24Oasis Core v21.0.220210324-20210413
c22021-04-13Oasis Core v21.3.1420210413-20220303
d02022-03-03Oasis Core v22.2.13
Cipher 2.6.2
Emerald 10.0.0
Sapphire 0.6.4
Web3 Gateway 3.4.0
20220303-20231012

Mainnet

Network UpgradeGenesis URLCompatible VersionsSnapshot URL
Mainnet Beta2020-10-01Oasis Core v20.10.220201001-20201118
Mainnet2020-11-18Oasis Core v20.12.820201118-20210428
Cobalt2021-04-28Oasis Core v21.3.14
Cipher 1.0.0
Emerald 7.1.0
Web3 Gateway 1.7.0
20210428-20220411
Damask2022-04-11Oasis Core v22.2.13
Cipher 2.6.2
Emerald 10.0.0
Sapphire 0.6.4
Web3 Gateway 3.4.0
20220411-20231129

See also

Archive Web3 Gateway