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/Port | Reachability | Purpose | Description |
---|---|---|---|
TCP/8080 | Inbound | Validator/transaction interface | full nodes connect to validators to collect partial signatures for transactions |
TCP/8081 | Inbound/Outbound | Consensus interface | validator nodes send consensus blocks to each other |
UDP/8084 | Inbound/Outbound | Peer-to-peer state sync interface | nodes sync their state with each other |
TCP/8443 | Outbound | Metrics pushing | validator metrics get pushed to IOTA Foundation monitoring |
TCP/9184 | Localhost | Metrics scraping | for local monitoring only |
To run a validator successfully, it is critical that ports are open as outlined, including the specific protocol (TCP/UDP).
Known peers
By default, your config file (validator.yaml
) should include the following known peers: (from public nodes run by IOTA):
- Testnet
- Devnet
p2p-config:
seed-peers:
- address: /dns/access-0.r.testnet.iota.cafe/udp/8084
peer-id: 46064108d0b689ed89d1f44153e532bb101ce8f8ca3a3d01ab991d4dea122cfc
- address: /dns/access-1.r.testnet.iota.cafe/udp/8084
peer-id: 8ffd25fa4e86c30c3f8da7092695e8a103462d7a213b815d77d6da7f0a2a52f5
p2p-config:
seed-peers:
- address: /dns/access-0.r.devnet.iota.cafe/udp/8084
peer-id: 01589ac910a5993f80fbc34a6e0c8b2041ddc5526a951c838df3037e11ab0188
- address: /dns/access-1.r.devnet.iota.cafe/udp/8084
peer-id: 32875c547ea3b44fa08a711646cedb70fa0c97959d236578131505da09723add
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