This document is intended for developers interested in catapult-server development.
The scripts shared on this page have been tested on servers with the following minimum requirements.
- CPU: 2 cores or more
- Memory: 4GB or more
- HD: 20GB or more
Server requirements are network dependent. For example, networks with higher throughput will likely have higher requirements.
Although you might be able to run the software in less powerful instances, you might encounter some issues while installing or running the node.
The port 7900
is required by catapult-server to communicate between nodes.
Make sure that the server's host is accessible from the internet and that the port is open and available.
Required
- cmake >= 3.14
- git
- python 3.x
Recommended
- ninja-build
Catapult's supported compilers are:
Linux:
- Clang: 11.0.1
- Clang: 10.0.0
- GCC: 10.2.0
- GCC: 9.2.1
OS X:
- Apple Clang: 11.0.3
Windows:
- Visual Studio 2017 (15.8)
- Visual Studio 2019 (16.8)
There are a few false positives when running sanitizers on targets
compiled with clang 9.
When building sanitizers, sanitizer_blacklist.txt
file is used.
When running thread sanitizer, there are following suppressions required:
- for false positive in libc++
shared_ptr
: - for false positive in boost's 1.74 executor (ref-counted)
- for false positive in boost logger, in server logger is always initialized from a single thread
race:~weak_ptr
race:~executor
race:global_logger::get()