IOTA

The IOTA Developer Hub

Welcome to the IOTA developer hub. You'll find comprehensive guides and documentation to help you start working with IOTA as quickly as possible, as well as support if you get stuck. Let's jump right in!

Get Started    

Install IRI

The official IRI Github repository can be found here: https://github.com/iotaledger/iri. In order to install IRI, there are certain requirements to be considered. It should be noted that IRI only works on 64-bit architectures.

  • Java 8u66 or higher (Oracle)
  • On Windows, make sure that Microsoft Visual C++ 2015 Redistributable Update 3 is installed

1. Install IRI

The easiest and fastest way to get IRI is by getting the already compiled version from Github. Before the official exchange launch, we will make IRI ready on several package managers, so you will be able to install and update IRI even faster.

You can find the compiled version on the release page on Github: https://github.com/iotaledger/iri/releases

1.1. (Optional) Compile IRI yourself

Compiling IRI yourself requires you to install maven.

git clone https://github.com/iotaledger/iri
cd iri
mvn clean compile && mvn package

This will then create a target folder, in which you will find the compiled .jar (not the original one) which you can then use.

2. Run IRI

Running IRI is incredibly simple.

java -jar iri.jar -p 14600

This will start IRI at port 14600. In order to actually use IRI, you will need to find neighbors (see next section). It should be noted that IRI works with UDP and with TCP. As such, you can connect to your neighbors with either protocol. In order to get the most out of IRI, we have also made a set of flags available for you.

Option Shortened version Description Example Input
--port -p This is a mandatory option that defines the port to be used to send API commands to your node -p 14800
--neighbors -n Neighbors that you are connected with will be added via this option. -n "udp://148.148.148.148:14265 tcp://[2001:db8:a0b:12f0::1]:14265"
--config -c Config INI file that can be used instead of CLI options. See more below -c iri.ini
--udp-receiver-port -u UDP receiver port. Standard port is 14600 -u 14800
--tcp-receiver-port -t TCP receiver port. Standard port is 15600 -t 14800
--testnet Makes it possible to run IRI with the IOTA testnet --testnet
--remote Remotely access your node and send API commands --remote
--remote-auth Require authentication password for accessing remotely. Requires a correct username:hashedpassword combination --remote-auth iotatoken:LL9EZFNCHZCMLJLVUBCKJSWKFEXNYRHHMYS9XQLUZRDEKUUDOCMBMRBWJEMEDDXSDPHIGQULENCRVEYMO
--remote-limit-api Exclude certain API calls from being able to be accessed remotely --remote-limit-api "attachToTangle, addNeighbors"

Once you have successfully started IRI, it will create a database folder (either mainnetdb or testnetdb).

2.1. Run IRI with .ini file

You can also provide an ini file to store all of your command line options and easily update (especially neighbors) if needed. You can enable it via the --config flag. Here is an example INI file:

[IRI]
PORT = 14700
UDP_RECEIVER_PORT = 14700
NEIGHBORS = udp://my.favorite.com:15600
IXI_DIR = ixi
HEADLESS = true
DEBUG = true
TESTNET = true
DB_PATH = db

Install IRI