ICT is a project currently developed by CfB (Come_From_Beyond, aka Sergey Ivancheglo), co-founder et co-director of IOTA.

There is currently few information about the exact nature of ICT and its role in IOTA’s ecosystem. One of its main characteristics seems to be that it relies on sharding. That means it should be constituted of many small edge nodes (e.g. Raspberry Pis) that work together and act as it they were one single full node. Anyway, more information and explanation will be given by CfB in due time, once the system finalized. Currently, ICT is still in testing phase. Therefore, we need as many Raspberries as possible to extend the network. So if you have one or two lying around and want to participate keep reading, it is not that difficult.

Preparation of your Raspberry

For this guide, we assume that you have a Pi running and connected to the internet. We also assume you know it’s IP on your local network and you can access it headlessly of directly.

Obtaining a static IP

ICT requires you to use a static IP to connect with your neighbors. Unfortunately, ISP often provied dynamics IP. Therefore, you will need to use a dynamic dns service to have a static way of accessing your dynamic IP. Every few minutes, your Pi will simply report the actual public IP to the dynDNS server so it can trace back to you. If you already have a static IP, this step is obviously not requested.

Start by going on noip.com, or any other dyndns provider of your choice. Create an account the chose a domain name for easier access. 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. You can see in depth what each line 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 complain. Finally, enter Nto the next question.

You can now run noip using

sudo /usr/local/bin/noip2

Opening port for ICT in your home router

ICT requires the port 14265 to be open in your router. Head to its configuration interface (usually details are printed on a label attached to it). Locate the port forwarding or portmapping tab and link port 14265 to your raspberry local IP and its 14265 port as well. Make sure that you use UDP , otherwise it will not work properly.

Setup of ICT

ICT setup is quite simple, thanks to discord user ixus#6751 that compiled the commands in easy-to-use scripts.

ICT Installation

First, we will create a script that will install ICT using

sudo nano setup-ict.sh

Then copy/paste the following in the editor

#!/bin/bash
apt-get --assume-yes install git oracle-java8-jdk 
git clone https://github.com/Come-from-beyond/Ict.git 
cd Ict 
javac src/cfb/ict/*.java 
PROPERTIES_FILE=”ict.properties” 
echo “host = 0.0.0.0” > $PROPERTIES_FILE 
echo “port = 14265” >> $PROPERTIES_FILE 
echo “” >> $PROPERTIES_FILE 
echo “//Discord neighbor: <username>#<userid>” >> $PROPERTIES_FILE 
echo “neighborAHost = ?.?.?.?” >> $PROPERTIES_FILE 
echo “neighborAPort = 14265” >> $PROPERTIES_FILE
echo “” >> $PROPERTIES_FILE 
echo “//Discord neighbor: <username>#<userid>” >> $PROPERTIES_FILE 
echo “neighborBHost = ?.?.?.?” >> $PROPERTIES_FILE 
echo “neighborBPort = 14265” >> $PROPERTIES_FILE 
echo “” >> $PROPERTIES_FILE
echo “//Discord neighbor: <username>#<userid>” >> $PROPERTIES_FILE 
echo “neighborCHost = ?.?.?.?” >> $PROPERTIES_FILE 
echo “neighborCPort = 14265” >> $PROPERTIES_FILE
echo “ICT app installed!” 
echo “Open ‘ict.properties’ and add three neighbor ip-addresses” 
echo “Extra note: You may need to ensure that your firewall doesn’t block UDP-traffic on port 14265.” 
echo “Start ICT with command: ‘./run-ict.sh’”

Save by pressing ctrl + O then Enter then exit with ctrl + X . You can now run this install script by using

sudo bash setup-ict.sh

Read the Full Article

This post was originally published on https://medium.com/@lambtho?source=rss-c32407c16d0f——2. The IOTA-News Community curates, examines, and summarizes news from external services while producing its own original material. Copyrights from external sources will be credited as they pertain to their corresponding owners. The purpose is to make use of 3rd party content or pictures as either allusion or promotional endorsement of mentioned sites. If you have a claim of copyright infringement with respect to material, please mail to support[at]iota-news.com. IOTA-News.com is a community run website and is NOT affiliated with the IOTA Foundation in any way.