System Requirements

System Requirements

This page provides the system requirements for running a OneFinity node.

Minimum System Requirements for Running a OneFinity Node

To participate in the OneFinity Network as a node, your system must meet the following specifications:

  • Operating System: Linux OS (Ubuntu 22.04 recommended) or MacOS.

  • Internet Connection: A stable 100 Mbit/s always-on connection with at least 4 TB/month data plan.

  • Storage: 200 GB SSD for efficient performance.

  • Memory: 8 GB RAM.

  • CPU: Must have 4 x dedicated/physical CPUs, either Intel or AMD, supporting SSE4.1 and SSE4.2 instruction sets. Verify using the lscpu command.

Understanding OneFinity Nodes

The OneFinity Network comprises nodes that run its dedicated software, contributing to the network's functionality by relaying and validating information:

  • Validators: Nodes that stake 3000 ONE plus a Validator NFT to participate actively in processing transactions. They play a critical role in the network's security and consensus mechanism and are rewarded for their service.

  • Observers: Nodes that are connected to the network and help relay information without staking ONE. While they support the network, they do not process transactions or earn rewards.

Optimizing OneFinity Node Performance on a Single Machine

When choosing to operate multiple OneFinity Nodes on the same machine, it's essential to ensure that the host meets certain requirements for optimal performance. Below are key guidelines and tips to consider:

Hardware Requirements

  • Minimum System Requirements: The host machine should possess at least the minimum system requirements times the number of nodes you intend to run. This ensures each node operates efficiently without resource contention.

Processor Recommendations

  • FMA/FMA3 Support: We strongly recommend using processors that support the fma or fma3 instruction set. Our virtual machine extensively utilizes these sets for optimal operations. To check if your CPU supports these instructions, use the following Linux command: sudo lshw.

Virtual Private Server (VPS) Considerations

  • Dedicated CPUs: If your hosting solution is a VPS, ensure it provides dedicated CPUs. This is crucial. Nodes running on shared CPUs may experience performance degradation, negatively affecting the node's rating and potentially leading to its jailing.

Future Support

  • ARM Processor Support: We are actively working on supporting ARM processors (such as those used in Raspberry Pi devices). However, this is pending resolution of third-party issues and will be announced in due course.

Node Networking Configuration Guide

Important: For seamless node operation, it's crucial to adjust your firewall settings to allow specific outgoing traffic. Ensure the following ports are open:

  • Port 10000 (P2P Seeder): Essential for peer-to-peer communication.

  • Port 123 (NTP): Allows synchronization with network time.

Firewall Configuration

To configure your firewall and permit traffic through the necessary ports, use the command below:

sudo ufw allow 37373:38383/tcp

Validate the changes by ensuring these ports are open before proceeding.

NAT and UPnP Requirements

  • Your node should be no more than one NAT device away from the Internet. This ensures it remains reachable by other nodes.

  • The node must support UPnP to negotiate port forwarding with the NAT device automatically. Ensure your router is UPnP compatible.

  • The firewall must not block inbound connections on the ports opened by the node.

Key Takeaways

For a node to effectively communicate and be reachable by peers, it must be properly configured to navigate through NAT devices, firewalls, and adhere to network time protocols while maintaining specific port permissions for inbound and outbound connections.

CAUTION

Ensure that your firewall settings for outgoing traffic explicitly allow traffic on port 10000 (P2P seeder) as well as port 123 (NTP).

Secure your OneFinity Node

To ensure the security of your OneFinity node, follow these vital tips:

  • Use Encryption: Always encrypt sensitive data to protect against unauthorized access.

  • Avoid Running as root: To minimize potential damage from a breach, don't run the node under the root user.

  • Limit Open Ports: Only open ports necessary for your node's operation should be allowed through the firewall. Check the node's documentation for the required port range.

Last updated