Requirements
This section provides the requirements for the server specifications on which the Fleek Network Node can be installed and run.
Only 64-bits distributions are supported. Do not try to install it on a 32-bits operating system!
Server
The Fleek Network node binary is only supported by a Linux server. Currently, we are only providing support for the following distros:
- Debian (>= 11)
- Ubuntu (>= 22.04 LTS)
Support for other OS will be made available soon, e.g. CentOS and Fedora. Feel free to test running on older versions, but we reduce the number of versions to ease support and keep instructions less verbose, which should be easily translatable to your preferred OS Distro and Version. Any contributions to provide support for your favorite distro are welcomed! Feel free to open a PR in our repositories.
Because of the use of Linux containerization technology, other operating systems, such as FreeBSD, OpenBSD, MacOS, Windows and others are not supported.
If you don’t have a server or a spare machine, keep reading as we'll give you some hints on how to rent one, although we are not affiliated with any provider.
Ports
Amongst other resources, ports play the role of managing and organizing network traffic. The ports initiate and terminate network connections crucial for the node to operate in the Fleek Network. The operating system should have the ports enabled and open for the node to run successfully.
We reserve the following top level ranges:
- TCP:
4200-4299
- UDP:
4300-4399
Each service in the node has 10 ports reserved within each range.
For node operators, they can either choose to individually open up the assigned ports, or just open the top level ranges, at their discretion. But we reserve the full ranges for future use, so they should avoid any port conflicts with other software running on the node.
For the Node Operators who opt to run the get.fleek.network
assisted installer, the ports are verified if in use.
The Node process requires the following ports:
Connection Pool (4x00-4x09
)
- Netkit QUIC:
4300 (UDP)
Consensus (4x10-4x19
)
- Mempool:
4210 (TCP)
- Primary:
4310 (UDP)
- Worker:
4311 (UDP)
Handshake (4x20-4x29
)
- HTTP:
4220 (TCP)
- TCP:
4221 (TCP)
- WebRTC:
4320 (UDP)
- WebTransport:
4321 (UDP)
RPC (4x30-4x39
)
- HTTP:
4230 (TCP)
- WebSocket / WebTransport?
DHT (4x40-4x49
)
- UDP:
4340 (UDP)
Broadcast
- Uses connection pool
Blockstore Server
- Uses connection pool
The ports should be freed before launching the node process. Any blockers or firewalls should be configured to enable the ports.
Specs
CPU Architecture
The Testnet Phase 4 testnet includes additional functionality and improvements, such as enhanced security measures and trusted computing that requires Intel SGX chips in the Node specifications. A list of hardware which supports Intel SGX chips - Software Guard Extensions is available here.
Intel's Software Guard Extensions (SGX) is a set of extensions to the Intel architecture that aims to provide integrity and confidentiality guarantees to security sensitive computation performed on a computer where all the privileged software (kernel, hypervisor, etc) is potentially malicious. See the research paper on Intel SGX Explained.
Number of CPU cores
The recommended number of CPU cores is a minimum of 4 with a minimum CPU speed of 2.0 GHz. The Fleek Network node binary is only supported on CPUs that adhere to the x86_64 architecture (64-bit).
Memory
A minimum of 32 GB of memory (RAM) is required and a reasonable amount of disk space for the installation and running processes, which at the minimum should be around 20 GB.