- installation guide
IoTeX Delegate Manual
Release Status
Here are the software versions we use:
- MainNet: v2.2.1
Join MainNet
This is the recommended way to start an IoTeX node
All the steps have written in scripts/all_in_one_mainnet.sh, you can directly run
sh scripts/all_in_one_mainnet.sh
- Pull the docker image:
- Set the environment with the following commands:
-
Edit
$IOTEX_HOME/etc/config.yaml
, look forexternalHost
andproducerPrivKey
, uncomment the lines and fill in your external IP and private key. If you leaveproducerPrivKey
empty, your node will be assgined with a random key. -
Start from a baseline snapshot (rather than sync from the genesis block), run the following commands:
or download from another website:
We will update the baseline snapshot on the 1st of every month.
- Download the latest incremental data (Optional):
We will update the incremental snapshot everyday.
We also provide incremental packages from the past 7 days.
You can choose any day within this period.
For example, if you want to use the data from April 27, 2025, the incremental package file name will be mainnet-data-incr-2025-04-27.tar.gz
.
The file named latest corresponds to today’s data.
To restore, you only need the full baseline package of the same month and the incremental package of the selected date.
- Extract the data packages in the correct order. It is essential to extract the baseline package first, followed by the incremental package.
For advanced users, there are three options to consider:
-
Option 1: 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.
or download from another website:
mainnet-data-with-idx-latest.tar.gz will be update on Monday every week
- Optional 2: 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:
- Optional 3: 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.
- Run the following command to start a node:
Now your node should be started successfully.
If you want to also make your node be a gateway, which could process API requests from users, use the following command instead:
- Ensure that TCP ports
4689
and8080
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