Network
To synchronize the state, 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.
Edit the node configuration .yaml
file to include peer nodes for state synchronization.
Add the following lines to the node's configuration, based on the network you'd like to connect to:
- 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
Connectivity
IOTA node uses the following ports by default:
protocol/port | reachability | purpose |
---|---|---|
TCP/8080 | inbound | validator/transaction interface |
TCP/8081 | inbound/outbound | consensus interface |
UDP/8084 | inbound/outbound | peer to peer state sync interface |
TCP/8443 | outbound | metrics pushing |
TCP/9184 | localhost | metrics scraping |
To run a validator successfully, it is critical that ports 8080-8084 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