Da qualche settimana sul canale #ict del Discord di IOTA si sperimenta con ICT e Raspberry PI o macchine virtuali con 512MB di RAM.

Oggi vediamo se è possibile installare ICT su un telefono Android (e.g. il telefono con il display rotto che avevamo nel cassetto)

Telefono Android con il display guasto

Software richiesti:

Installiamo UserLAnd e ConnectBot sul nostro telefono Android, installiamo Debian GNU/Linux e tramite ConnectBot colleghiamoci alla sessione locale SSH.

UserLAnd su Android

Connessione via SSH

Installiamo net-tools necessari per poterci collegare alla sessione SSH dal nostro computer tramite Putty o bash in Linux.

sudo apt install net-tools
Installiamo network-tools

Visualizziamo l’indirizzo IP del nostro telefono:

ifconfig
Indirizzo IP

Bene. Aprite il vostro client SSH preferito e connettetevi dal PC alla porta 2022 in ad esempio dalla bash con:

ssh [email protected] -p 2022

nel mio esempio con:

ssh [email protected] -p 2022

Ora che possiamo usare una tastiera seria installiamo gli strumenti necessari:

sudo apt install --assume-yes nano gnupg2 screen

oracle-java8-jdk

Installiamo oracle-java8-jdk dal ppa del team webupd8, aggiungiamo il repo:

sudo nano /etc/apt/sources.list.d/weupd8team.list
deb http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main
deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main
java

Salvare ed uscire utilizzando ctrl + o seguito da Invio ed infine ctrl + x.

Aggiungiamo la chiave pubblica:

sudo apt-key adv --no-tty --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886

Aggiorniamo i repository ed installiamo java:

sudo apt update && sudo apt install --assume-yes oracle-java8-installer

Ora seguo la guida esaustiva di lambtho su medium con alcune modifiche necessarie

sudo nano setup-ict.sh
#!/bin/bash

apt-get --assume-yes install git
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'"

Salvare ed uscire utilizzando ctrl + o seguito da Invio ed infine ctrl + x.

Ed installiamo:

sudo bash setup-ict.sh

Trova i vicini per il tuo ICT

ICT richiede almeno un vicino per funzionare correttamente. È possibile aggiungerne fino a tre. Vai nel canale #ICT del server Discord di IOTA e chiedi agli utenti di aggiuntere il tuo nodo. Inizia una discussione privata con gli interessati e scambia il tuo IP pubblico se è statico o il tuo DNS. Quando hai trovato i è necessario aggiungerli nei file ict.properties.

sudo nano Ict/ict.properties

Sostituire l’IP o DNS dei vicini (ad esempio, qualcosa come 12.34.56.56.789 o myNeighbor.ddns.net). Nota che puoi anche modificare i campi ## con il discord handle dei vicini per tenerne traccia facilmente. Una volta che saranno stati aggiunti, salvare ed uscire utilizzando ctrl + o seguito da Invio ed infine ctrl + x.

Aggiornare ICT

Ora possiamo creare uno script che aggiornerà facilmente ICT quando necessario. Creare lo script usando:

sudo nano update-ict.sh

E copiare/incollare quanto segue:

#!/bin/bash

cd Ict
git pull
javac src/cfb/ict/*.java

echo "ICT app updated!"
echo "Start ICT with command: './run-ict.sh'"

Come sempre, salvare ed uscire utilizzando ctrl + O seguito da Invio ed infine ctrl + X.

Quando un nuovo aggiornamento di ICT sarà, semplicemente digitare:

sudo bash update-ict.sh

per aggiornare e poi riavviare l’ICT.

Si noti che questo script di aggiornamento potrebbe avere problemi in futuro a seconda delle modifiche apportate al codice sorgente ICT. In caso di problemi con l’aggiornamento, non esitate a visitare il canale #ICT sul Discord di IOTA.

Eseguire ICT

L’ultimo script da creare eseguirà ICT.

sudo nano run-ict.sh

E poi copiare/incollare quanto segue:

#!/bin/bash

cd Ict/src
java cfb.ict.Ict ../ict.properties

Non dimenticarsi di salvare ed uscire utilizzando ctrl + o seguito da Invio ed infine ctrl + x.

Ora è possibile eseguire lo script con sudo bash run-ict.sh. Tuttavia, lo script ci obliga a rimanere connessi. Quindi come passo successivo avvieremo ICT in uno scermo virtuale con screen.

Avviare con screen

Questa parte differisce completamente dalla guida di lambtho in quanto systemd non gira su android (se trovate una soluzione fatemelo sapere)

Avviamo una sessione con screen:

screen -S ict

Ci ritroveremo nella riga di comando, avviamo ora ICT:

sudo bash run-ict.sh

Una volta eseguito vedremo l’avvio e gli indirizzi DNS/IP dei nostri vicini.

ICT dal terminale

Ora attendiamo i messaggi.

ICT dal terminale con messaggi

Per uscire dalla sessione screen premere la combinazione di tasti ctrl + a e d

Per rientrare nella sessione scrivere:

screen -r ict

Qui la vista dal telefono:

Screen
UserLAnd con screen e nodo ICT

Per chi volesse sperimentare con una VPS gratuita di Google esistono le seguenti guide in inglese:

https://medium.com/@hbmy289/how-to-set-up-a-free-micro-vps-on-google-cloud-platform-bddee893ac09

https://medium.com/@hbmy289/how-to-setup-an-ict-node-on-a-free-google-micro-vps-842f475d51a


La guida di lambtho lingua inglese si trova qui: https://medium.com/@lambtho/iota-ict-installation-tutorial-c079a1ca3b7d


Da oggi è possibile dare il vostro supporto su Patreon https://www.patreon.com/antonionardella

Per ulteriori informazioni in italiano o tedesco trovate i miei contatti a questa pagina.
Se avete trovato utile la mia libera traduzione/guida, accetto volentieri delle donazioni 😉

IOTA:
QOQJDKYIZYKWASNNILZHDCTWDM9RZXZV9DUJFDRFWKRYPRMTYPEXDIVMHVRCNXRSBIJCJYMJ9EZ9USHHWKEVEOSOZB
BTC:
1BFgqtMC2nfRxPRge5Db3gkYK7kDwWRF79

Non garantisco nulla e mi libero da ogni responsabilità.


Also published on Medium.