Skip to main content

Network

Connectivity

To synchronize the state, the node needs to establish connections with other nodes that have already joined the network. Ensure that port 8084 is open and set up an external address for node discovery.

Required Network Ports

Ensure the following ports are open in your firewall:

Protocol/PortReachabilityPurposeDescription
TCP/8080InboundValidator/transaction interfacefull nodes connect to validators to collect partial signatures for transactions
TCP/8081Inbound/OutboundConsensus interfacevalidator nodes send consensus blocks to each other
UDP/8084Inbound/OutboundPeer-to-peer state sync interfacenodes sync their state with each other
TCP/8443OutboundMetrics pushingvalidator metrics get pushed to IOTA Foundation monitoring
TCP/9184LocalhostMetrics scrapingfor local monitoring only

To run a validator successfully, it is critical that ports are open as outlined, including the specific protocol (TCP/UDP).

Network Buffer

From load testing IOTA validator networks, it has been determined that the default Linux network buffer sizes are too small. We recommend increasing them using one of the following two methods:

Option 1: With /etc/sysctl.d/

These settings can be added to a new sysctl file specifically for the iota-node, or appended to an existing file. Modifications made in this way will persist across system restarts.

Create a new sysctl file for the iota-node:

$ sudo nano /etc/sysctl.d/100-iota-node.conf

Add these lines to the file, overwriting existing settings if necessary:

net.core.rmem_max = 104857600
net.core.wmem_max = 104857600
net.ipv4.tcp_rmem = 8192 262144 104857600
net.ipv4.tcp_wmem = 8192 262144 104857600

Apply the settings immediately, before the next restart:

$ sudo sysctl --system

Option 2: With sysctl Command

These modifications do not persist across system restarts. Therefore, the commands should be run each time the host restarts.

$ sudo sysctl -w net.core.wmem_max=104857600
$ sudo sysctl -w net.ipv4.tcp_rmem="8192 262144 104857600"

Verification

To verify that the system settings have indeed been updated, check the output of the following command:

$ sudo sysctl -a | egrep [rw]mem