Skip to main content
Within the realm of nodes, there are distinct types tailored for specific purposes. For instance, archive nodes specialize in storing comprehensive historical data of the blockchain and providing it upon request. This sets them apart from full nodes, which focus on recent blockchain states, and light nodes, primarily reliant on data from full nodes. Archive nodes build archival blockchain data quickly and efficiently, and they’re useful for querying arbitrary historical data, like a user’s balances on a specific block.

General Steps

  1. Provision a machine.
  2. Notify core team of IP/IPs range (x.x.x.x:x.x.x.x) and SKALE Chain for archive.
  3. Complete archive node setup.
  • A Linux x86_64 machine
  • Ubuntu 20.04
  • 4 physical cores
  • 16GB RAM
  • 100GB root storage
  • 2TB attached storage

Node Network Requirements

  • Ports 80, 443, 3009, and 10000–18192, and ICMP IPv4 should not be closed by any firewall software.
Firewall setup is a part of skale binary. Any custom configuration may break or reduce the security of the system.

Node Software Prerequisites

  • 8GB Swap
  • docker
  • docker-compose → 1.29.2
  • iptables-persistent, btrfs-progs, lsof, lvm2, psmisc, and apt packages

From Fresh Machine

SKALE Archive Node Implementation

Before proceeding, notify the core team of the IP address of your archive node. It’s suggested to use an elastic IP for the whitelisted IP address.

Setup SSL certs

Node SSL certificates support secure communication with chain endpoints. By default, each node of a SKALE Chain listens on HTTP and WS ports. If SSL certs exist on the node, then HTTPS and WSS ports are also turned on. To upload SSL certs to the node run:
To check the status of your certs run:
Once certs are uploaded, HTTPS/WSS endpoints should become available for your chain.

Update archive node

Update archive SKALE node on current machine
Options:
  • --yes - update without additional confirmation
Arguments:
  • ENV_FILEPATH - path to env file where parameters are defined
You can just update a file with environment variables used during sudo skale sync-node init.