Skip to content

Latest commit

 

History

History

doc

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

Table of Contents

System Requirements

To run an archive node on znode we recommend the following minimum system requirements:

  • 4+ CPU cores
  • 16+ GiB RAM
  • 500+ GiB available storage space (SSD recommended, NVMe optimal)
  • 10+ Mbit/s bandwidth internet connection

We strongly discourage running a node on mechanical hard drives (HDD) as it will lead to degraded performance and might struggle to keep up with the tip of the chain. We also discourage running a node on a VPS unless you have dedicated CPU cores and a dedicated directly attached SSD drive (experiments on AWS with gp2/gp3 storage showed terrible performance). Do not even try on AWS LightSail instances.

Code Tree Map

This projects contains the following directory components:

  • cmake Where main cmake components are stored. Generally you don't need to edit anything there.
  • cmd The basic source code of project's executable binaries (daemon and support tools). Nothing in this directory gets built when you choose the BUILD_CORE_ONLY build option
  • doc The documentation area. No source code is allowed here
  • third-party Where most of the dependencies of the project are stored. Some directories may be bound to [submodules] while other may contain imported code.
  • src/core This directory contains the heart of the protocol logic and all basic objects and functions. Source code within core is suitable for export (as a library) to third-party applications and cannot make use of C++ exceptions (build flags explicitly voids them)
  • src/app This directory contains the application implementation : storage access layer, networking layer, and all other features needed for complete functionality of a block-chain node. Sources built from this directory depend on the core directory contents.

To simplify the building process cmake is configured to make use of GLOB lists of files. As a result a strict naming convention of files (see Style Guide). In addition to that we establish two file names suffix (before extension) reservations:

  • _test explicitly mark a file to be included in the unit siphash_tests target
  • _benchmark explicitly mark a file to be included in the benchmarks target