Docker
Authors: [ Ankur | Dapplooker]
System Requirements
8 vCPU
Ubuntu 22.04
32 GB
2 TB (SSD)
The IoTeX node has a size of 602 GB on 12, February, 2025.
Pre-requisite
Before starting, clean the setup then update and upgrade. Install following:
Docker
Git
Go v1.23+
Commands
Firewall Settings
Check status & enable UFW
Set explicit default UFW rules
Allow SSH, HTTP, and HTTPS
Allow Remote connection
Setup Instructions
Set the environment
Edit `config.yaml` file
Edit $IOTEX_HOME/etc/config.yaml
, look for externalHost
and producerPrivKey
, uncomment the lines and fill in your external IP and private key. If you leave producerPrivKey
empty, your node will be assgined with a random key.
Download Data
If you plan to run your node as a gateway, please use the snapshot with index data: https://t.iotex.me/mainnet-data-with-idx-latest .
If you only want to sync chain data from 0 height without relaying on legacy delegate election data from Ethereum, you can setup legacy delegate election data with following command:
If you want to sync the chain from 0 height and also fetching legacy delegate election data from Ethereum, please change the
gravityChainAPIs
in config.yaml to use your infura key with Ethereum archive mode supported or change the API endpoint to an Ethereum archive node which you can access.
Start the node
Monitoring
Check Ports
Ensure that TCP ports 4689
and 8080
are open on your firewall and load balancer (if applicable). Additionally, if you intend to use the node as a gateway, make sure the following ports are open:
14014
for the IoTeX native gRPC API15014
for the Ethereum JSON API16014
for the Ethereum WebSocket
Monitor Logs of Docker Container
Sync Status
Run a query to check the latest synchronized L2 block:
Response should look like:
REFERENCES
Git hub : Repository for Archive Node Setup
IoTeX explorer : Block Explorer
Last updated