IOTA News

IOTA Ict project is advancing fast. New changes are introduced almost every week and user experience has been greatly enhanced over the last couple of weeks. The last release of Ict (Ict 0.5.x) introduced a wonderful web interface to configure, edit and run everything super easily. No more terminal (almost)! Now that your grandma on crack is accustomed to Trinity, she might as well be capable of running her own Ict !

This guide replaces the previous ones and focus on the GUI configuration. It can be employed either for a fresh install or to upgrade an old one to the last version of Ict. The install process is based on an all-in-one install script created by discord user Phil Schaeff and requires no prior technical knowledge.If you simply want to update from an older version, go directly in section 5 for the update commands and then come back to sections 2.d and 3 for the configuration through the webGUI.If you plan to do a fresh install of Ict on a raspberry, Microhash as compiled a custom OS (based on dietpi) to flash on your SD card. This “PIct” comes with Ict pre-installed so only the configuration is required. This way of installing Ict is the subject of its own tutorial (link very soon).

You will need…

As of today, Ict can run on any device connected to internet and capable of running java. It can be a Raspberry Pi (a zero or an old version is enough), a Rock64, a regular computer, a VPS, any Virtual Machine or even an Android Phone.

The present tutorial only covers the Ict installation and configuration. Some very nice guides already exist to explain how to initiate the most common devices easily and make them ready for Ict installation.
– Setting up a Raspberry Pi
– Setting up a free google VPS
– Setting up an android phone

This tutorial will mainly focus on the installation for a Raspberry running Raspbian, but the general idea is the same for every other device.

Topics covered

  1. Setup of the device for external access
  2. Setup of Ict
    a. Overview of the install script
    b. Installation of Ict
    c. Finding neighbors
    d. Ict configuration
  3. Install and configure IXIs
    a. Chat.ixi
    b. Report.ixi
  4. Control Ict, interpret the logs,…
  5. Keeping everything up-to-date

1. Preparation of the device

This section assumes you already have a device running and connected to the internet. If you need guidance for it, refer to the tree setup tutorials linked here-above.

Obtaining a static IP

This step is only required if you do not have already a static IP, VPS users for instance are not expected to go through this.

Ict requires you to use a static IP to connect with your neighbors. Unfortunately, Internet Service Providers often provide dynamics IPs. Therefore, you will need to use a dynamic DNS service to have a static way of accessing your dynamic IP. With that service, your device will simply report the actual public IP to the dynDNS server every few minutes, so it can trace back to you.

Start by going on noip.com, or any other dyndns provider of your choice. Create an account and chose a domain name for easier access (this domain name is the one you will be giving to your neighbor).
Now you need to install some scripts on the raspberry that will send your IP to your dyndns provider.

The following commands are for noip install on a raspberry pi. For other systems, you should only change the path of the install /home/usr/noip.

You have to type the lines one at a time and pressing Enter after each one. You can see in depth what each command does on their documentation website.

mkdir /home/pi/noip
cd /home/pi/noip
wget http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz
tar vzxf noip-duc-linux.tar.gz
cd noip-2.1.9–1
sudo make
sudo make install

After that last line, you have to enter your login and password (the ones that you used for noip.com).
The terminal will then ask you for the time interval between each update. Chose something strictly above 5, otherwise it will raise an error. Finally, enter N to the next question.

You can now run noip using

sudo /usr/local/bin/noip2

Finally, we need to make sure it will restart automatically after a reboot of the system. To do so, type sudo crontab -e , and type this at the bottom of the file

@reboot sudo /usr/local/bin/noip2

Save and quit by successively typing Ctrl + O and then Ctrl + C .

Now simply type cd to return to the home directory before continuing the installation.

Note : Noip free domain names have an expiration date. Every month you will receive an email asking you to confirm that you are still using the domain. Do not forget to confirm it, otherwise your Ict will be disconnected to its neighbor.

Opening a port for Ict in your home router firewall

ICT requires a port to be open in your router (by default it is 1337 for Omega-Ict, but you can use an other one if you will, such as 14265). Head to the router configuration interface (usually details are printed on a label attached to it). Locate the port forwarding or portmapping tab and link port 1337 to your device local IP and its 1337 port as well. Make sure that you use UDP, otherwise it will not work properly. If you use a VPS, locate the firewall option and allow traffic to the port you want to used for Ict.

While you are at it, you can open port 1338 as well, it will be used for the Report.ixi (we will cover that in a bit). You can also open ports 2187 and 2019 in both UDP and TPC if you are planning to access the web interface of ict and chat.ixi from outside of your network (if you installed ict already outside of your network, like in a VPS, you must do it).

Example config in my home router. External start and end are the one you give to your neighbor; lan port is the one you will specify in Ict parameters.

As mentioned in the introduction, discord user schaeff (Phil#1641) created a simple script to automate the installation of Ict. The script was tested on various Linux based systems (debian, Raspbian, gentoo, Red hat,…).
It allows you to either build the executable from the sources or simply download the latest pre-compiled release of Ict. If your plan is to simply run Ict, you probably do not need to download and build the sources. Therefore using the pre-compiled release should suffice (and this will make the install much faster).