Skip to content

Latest commit

 

History

History
111 lines (74 loc) · 4.01 KB

hosting-a-node.md

File metadata and controls

111 lines (74 loc) · 4.01 KB

Hosting a Node

Please note: The recommendations and information below are based on the main network as of 22nd April 2024. The requirements may change as the network evolves.

Table of Contents


Command Line Options

Please refer to Command Line Options in the usage documentation to see a list of all available options.


System Requirements

Authority Nodes

Below spec is the node configured in full node without logs.

Resource Minimum Specification Recommended Specification
CPU 2 Core 4 Core
RAM 8 GB 16 GB
Bandwidth 10 Mbit 20 Mbit
Disk 300 GB NVMe SSD 500 GB NVMe SSD

Public Nodes

Note: For public nodes, it is essential to configure them with a robust and secure setup, including protection against DDoS attacks and intrusion detection systems (IDS).

Below spec is the node configured in full archive node.

Resource Minimum Specification Recommended Specification
CPU 8 Core 16 Core
RAM 16 GB 64 GB
Bandwidth 10 Mbit 20 Mbit
Disk 600 GB SSD 1 TB SSD

Node Types

Full Archive Node

A full archive node is a full node that stores all historical data of the blockchain, containing complete historical data of all transactions and blocks, including forks and variations. Running a full archive node requires more resources than running a regular full node, but it provides access to the complete history of the blockchain.

To run a full archive node, you need to set the --disable-pruner flag when starting the node. For example:

bin/thor --network main --disable-pruner

As of 22nd April 2024, an archive node uses over 400 GB of disk space.

Full Node

A full node is a node that stores the entire blockchain and validates transactions and blocks. Running a full node requires fewer resources than running an archive node, but it still provides the same level of security and decentralization.

Running a full node does not require any additional flags. For example:

bin/thor --network main

As of 22nd April 2024, a full node uses ~200 GB of disk space.

Full Node without Logs

  • Logs: Logs are records of transfer and smart contract events stored in an SQLite database on the blockchain. When operating a node without logs, the /logs/event and /logs/transfer endpoints will be deactivated. These endpoints may experience CPU-intensive requests, causing performance issues. To address this, you can start a node without logs by using the --skip-logs flag. For example:
bin/thor --network main --skip-logs

As of 22nd April 2024, a full node without logs uses ~100 GB of disk space.

Metrics

Telemetry plays a critical role in monitoring and managing blockchain nodes efficiently. Below is an overview of how metrics is integrated and utilized within our node systems.

Metrics is enabled in nodes by default. It's possible to disable it by setting --enable-metrics=false. By default, a prometheus server is available at localhost:2112/metrics with the metrics.

curl localhost:2112/metrics

Instrumentation is in a beta phase at this stage. You can read more about the metric types here.