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 !
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.
- Setup of the device for external access
- Setup of Ict
a. Overview of the install script
b. Installation of Ict
c. Finding neighbors
d. Ict configuration
- Install and configure IXIs
- Control Ict, interpret the logs,…
- 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
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.
tar vzxf noip-duc-linux.tar.gz
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
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
O and then
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
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).