März 10, 2019

Das ultimative IOTA-Ict-Tutorial: Allgemeine Ausgabe

Das ultimative IOTA-Ict-Tutorial: Allgemeine Ausgabe

Das IOTA Ict-Projekt schreitet schnell voran. Fast jede Woche werden neue Änderungen eingeführt. Die Benutzerfreundlichkeit wurde in den letzten Wochen erheblich verbessert. Mit der letzten Version von Ict (Ict 0.5.x) wurde ein wunderbares Web-Interface eingeführt, mit dem du alles ganz einfach konfigurieren, bearbeiten und ausführen kannst und auch (fast) kein Terminal mehr benutzen brauchst! Und da deine Oma auf Crack jetzt schon an das Trinity Wallet gewöhnt ist, könnte sie doch genauso gut in der Lage sein, ihren eigenen Ict zu erstellen!

Home page of Ict web interface.
Dieses Tutorial ersetzt alle vorherigen und konzentriert sich auf die GUI-Konfiguration. Es kann entweder für eine Neuinstallation oder für ein Upgrade auf die neueste Version von Ict verwendet werden. Der Installationsprozess basiert auf einem All-in-One-Installationsskript, das vom Discord-user Phil Schaeff erstellt wurde, und erfordert keine technischen Vorkenntnisse.
Wenn du einfach nur ein Update von einer älteren Version durchführen möchtest, springe gleich zum Abschnitt 5 zu den Aktualisierungsbefehlen und kehre dann zu den Abschnitten 2.d und 3 zurück wo es um die webGUI Konfiguration geht.
Wenn du eine Neuinstallation von Ict auf einem Raspberry durchführen möchtest, hat Microhash ein benutzerfreundliches Betriebssystem (basierend auf Dietpi) für das Flashen auf einer SD-Karte kompiliert. Dieses „PIct“ wird mit vorinstalliertem Ict geliefert, so dass dann nur noch die Konfiguration erforderlich ist. Diese Art der Installation von Ict ist Gegenstand eines eigenen Tutoriums (Der Link dazu ist bald verfügbar).

Das wirst du brauchen…

Ab jetzt kann Ict auf jedem Gerät ausgeführt werden, das mit dem Internet verbunden ist und Java ausführen kann. Das kann z.B. ein Raspberry Pi (ein PiZero oder eine ältere Version ist ausreichend), ein Rock64, ein normaler Computer, eine VPS, eine beliebige virtuelle Maschine oder sogar ein Android-Handy sein.

Das vorliegende Tutorium behandelt nur die Installation und Konfiguration von Ict. Es gibt bereits einige sehr schöne Tutorien, die erklären, wie du die gebräuchlichsten Geräte einfach starten und für die Ict-Installation vorbereiten kannst.

Dieses Tutorium konzentriert sich hauptsächlich auf die Installation eines RaspberryPis, auf der Raspbian ausgeführt wird. Die grundlegende Installation ist aber für alle anderen Geräte gleich.

Themen Überblick

  1. Einrichtung des Gerätes für den externen Zugriff
  2. Einrichtung von Ict
    a. Überblick über das Installationsskript
    b. Installation von Ict
    c. Nachbarn finden
    d. Ict konfigurieren

3 . Installieren und konfigurieren von IXIs
a. Chat.ixi
b. Report.ixi

4 . Steuere Ict, interpretiere die Protokolle,…

5. Alles auf dem neuesten Stand halten (Updates)

1.Vorbereitung des Gerätes

In diesem Abschnitt wird davon ausgegangen, dass du bereits über ein Gerät verfügst, das mit dem Internet verbunden ist. Wenn du eine Anleitung dafür benötigst, lese bitte zuerst die oben verlinkten Tutorien durch.

Eine statische IP erhalten

Dieser Schritt ist nur erforderlich, wenn du noch keine statische IP-Adresse hast. Er wird beispielsweise wahrscheinlich nicht von VPS-Benutzern benötigt.

Für Ict musst du eine statische IP-Adresse verwenden, um dich mit deinen Nachbarn zu verbinden. Leider bieten Internetanbieter häufig nur dynamische IPs an. Daher musst du einen dynamischen DNS-Dienst verwenden, um statisch auf deine dynamische IP-Adresse zugreifen zu können. Mit diesem Dienst meldet dein Gerät einfach alle paar Minuten die tatsächliche öffentliche IP-Adresse an den dynDNS-Server, damit sie zu dir zurückverfolgt werden kann.

Beginne mit noip.com oder einem anderen Anbieter deiner Wahl. Erstelle ein Konto und wähle einen Domänennamen aus, um den Zugriff zu erleichtern (dieser Domänenname ist der, den du deinen Nachbarn geben wirst).
Nun musst du einige Scripts auf dem Pi installieren, die deine IP-Adresse an deinen Dyndns-Provider senden.

Die folgenden Befehle sind für die Noip-Installation auf einem Raspberry-Pi vorgesehen. Bei anderen Systemen solltest du nur den Pfad von install /home/usr/noip ändern.

Du musst die Zeilen einzeln eingeben und nach jeder Eingabe die Eingabetaste drücken. Du kannst auf der Dokumentations-Website detailliert sehen, was jeder Befehl bewirkt.

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

Nach dieser letzten Zeile musst du deinen Login und dein Passwort eingeben (das sind die, die du für noip.com verwendet hast).
Das Terminal fragt dich dann nach dem Zeitintervall zwischen den Aktualisierungen. Wähle u bedingr über 5, sonst wird ein Fehler ausgegeben. Zum Schluss gib N zur nächsten Frage ein.

Du kannst jetzt Noip mit folgendem Befehl ausführen:

sudo /usr/local/bin/noip2

Schließlich müssen wir noch sicherstellen, dass nach einem Neustart das System automatisch neu gestartet wird. Gib dazu sudo crontab -e ein und gib folgendes am Ende der Datei ein

@reboot sudo /usr/local/bin/noip2

Speichere und beende, indem du nacheinander Strg + O und dann Strg + C drückst.

Gib nun einfach cd ein, um zum Ausgangsverzeichnis zurückzukehren, bevor du mit der Installation fortfährst.

Hinweis: Noip-freie Domain-Namen haben ein Ablaufdatum. Du erhälst daher jeden Monat eine E-Mail, in der du aufgefordert wirst zu bestätigen, dass du die Domäne weiterhin verwendest. Vergiss nicht, die Mail zu bestätigen, sonst wird dein Ict von deinem Nachbarn getrennt.

Öffnen eines Ports für Ict in der Firewall deines Heimrouters

ICT erfordert einen offenen Port in deinem Router (standardmäßig ist es 1337 für Omega-Ict, du kannst aber auch einen anderen Port verwenden, z. B. 14265). Gehe zur Routerkonfigurationsschnittstelle (in der Regel sind die Details auf einem Etikett angegeben). Suche die Registerkarte für die Portweiterleitung oder Portzuordnung, und verknüpfe Port 1337 mit der lokalen IP-Adresse des Geräts und seinem Port 1337. Stelle sicher, dass du UDP verwendest, da es sonst nicht ordnungsgemäß funktioniert. Wenn du ein VPS verwendest, suche die Firewall-Option und lasse den Datenverkehr an dem Port zu, den du für Ict verwenden möchtest. Lasse den Datenverkehr an dem Port zu, den du für Ict verwenden möchtest.

Wenn du schon dabei bist, kannst du auch Port 1338 öffnen. Dieser wird für Report.ixi verwendet (wir werden das später etwas näher behandeln). Du kannst die Ports 2187 und 2019 auch in UDP und TPC öffnen, wenn du von außerhalb deines Netzwerkes auf die Weboberfläche von ict und chat.ixi zugreifen möchtest (wenn du ict bereits außerhalb deines Netzwerks installiert hast, wie z.B. in einem VPS, musst du folgendes tun.

Beispiel config in meinem Heimrouter. External start und end sind die, die du deinen Nachbarn gibst. Der Lan-Port wird in Ict-Parametern angegeben.

2. Einrichtung von Ict

Wie bereits in der Einleitung erwähnt, hat der Discord-Benutzer schaeff (Phil # 1641) ein einfaches Skript erstellt, um die Installation von Ict zu automatisieren. Das Skript wurde auf verschiedenen Linux-basierten Systemen (Debian, Raspbian, Gentoo, Red Hat,…) getestet.
Du kannst entweder die ausführbare Datei aus den Quellen erstellen oder einfach die neueste vorkompilierte Version von Ict herunterladen. Wenn du planst, Ict einfach auszuführen, musst du die Quellen wahrscheinlich nicht herunterladen und erstellen. Daher sollte die Verwendung der vorkompilierten Version ausreichend sein (und die Installation wird dadurch erheblich beschleunigt).

a. Skriptübersicht

Wie auf der Github-Seite erläutert, führt das Skript Folgendes aus:

  • Installiert alle erforderlichen Abhängigkeiten.
  • Fügt einen Benutzer "ict" (Sicherheitsmaßnahme) hinzu.
  • Lädt den Quellcode herunter, kompiliert ihn, oder lädt je nach Wahl des Benutzers einfach die neueste vorkompilierte Version herunter.
  • Lädt Chat.ixi und Report.ixi herunter
  • Importiert die alten Einstellungen aus ict.properties, falls verfügbar.
  • Generiert einen systemd-Dienst zur einfacheren Steuerung von Ict.
  • Startet Ict und zeigt die Protokolle an.

Weitere Erklärungen zu diesem Skript findest du im schaeff github repo.

b. Ict Erstinstallation

Um zu vermeiden, dass während des Installationsvorgangs Probleme auftreten, kopiere jede Zeile nacheinander, und füge nicht mehrere Zeilen gleichzeitig in das Terminal ein.

Zuerst musst du git installieren und das Installationsskript herunterladen:

sudo apt-get install git
sudo git clone https://www.github.com/phschaeff/ict-install
Wenn du Ict bereits installiert hast und nur ein Update durchführen möchtest, lies bitte Teil 4 dieses Tutoriums „Alles auf dem neuesten Stand halten“.

Führe einfach das soeben heruntergeladene Skript aus, mit der Option, entweder aus Quellen zu erstellen (BUILD) oder die vorkompilierte Version (RELEASE) herunterzuladen. Beachte, dass der Nodename keine Leerzeichen enthalten darf.

cd ict-install
sudo bash install-ict.sh 

Zum Beispiel:

sudo bash install-ict.sh RELEASE

Jetzt wird alles installiert, dieser Vorgang kann bis zu 5 Minuten dauern. Nach Abschluss der Installation wird automatisch alles gestartet und die Protokolle angezeigt. Fehler beim ersten Start sind völlig normal, da noch nichts konfiguriert ist. Beende die Protokolle, indem du Strg + C drückst.

c. Nachbarn finden

Ict benötigt mindestens einen Nachbarn, um ordnungsgemäß zu funktionieren. Du kannst bis zu drei davon hinzufügen. Gehe in den #ict-help Kanal des Discord-Servers von IOTA und frage nach Nachbarn. Ein "Bot" wurde erstellt, um benachbarte Anforderungen zu bearbeiten. Rufe ihn einfach auf, indem du !ictnodes im Kanal eingibst. Ein Chat wird mit dem "Bot" geöffnet. Folge einfach den Anweisungen. Wenn du zusätzliche Hilfe benötigst, schreib !help in Chat oder frag doch einfach im #ict-help Kanal nach.

Da du dich bereits in dem Kanal befindest, nimm dir doch gleich einen Moment Zeit, um dich in der ict-testing-Gruppe zu registrieren. Auf diese Weise können dich die Entwickler und Mods problemlos pingen, um dich über die wichtigsten Entwicklungen (beispielsweise neue Updates) zu informieren. Geh in den #rank-yourself Kanal und gib: !rank ict-testing ein.

d. Ict Konfiguration

Der letzte Schritt besteht darin, Ict so zu konfigurieren, dass eine Verbindung zu seinen Nachbarn hergestellt wird und einige andere Parameter angepasst werden. Hier passiert die Magie.

Öffne deinen typischen Webbrowser, und gehe über Port 2187 zu deiner Node-Adresse. Wenn sich das Netzwerk im selben lokalen Netzwerk befindet wie dein Computer, kannst du dessen lokale IP-Adresse direkt verwenden. Ist dies nicht der Fall, verwende die statische IP-Adresse des Servers oder den Domänennamen.
Beispiel:

192.168.1.25:2187
OR
mysuper.ict.com:2187

Die Webseite fragt nach einem Passwort. Standardmäßig solltest du change_me_now verwenden.

Das erste, was du aus offensichtlichen Sicherheitsgründen tun müsstest, ist das Passwort zu ändern. Überspringe diesen Schritt nicht! Wenn du dies nicht tust, kann jeder, der über deine Node-Adresse verfügt (z.B. ein Nachbar), auf die GUI zugreifen und Parameter ändern.
Gehe einfach auf die Konfigurationsregisterkarte und ändere das Passwortfeld (untere rechte Ecke). Speichere anschließend deine Konfiguration mit der Schaltfläche "Speichern" (oben rechts). Alle anderen Parameter können auf den Standardwerten bleiben. Es wird nicht empfohlen sie zu ändern, wenn du nicht weißt, was du tust.

Beispiel: Zum Schluss muss du deine Nachbarn hinzufügen. Gehe einfach zur Nachbar-Registerkarte und klicke auf die Schaltfläche Neu hinzufügen, um einen Nachbarn hinzuzufügen. Gib dann die Adresse ein und speichere Sie. Beachte, dass die Adresse die Form <Domäne / IP>: haben sollte.

12.45.56.88:1337
ODER
mysuper.neighbor.com:1337

Nach einigen Sekunden (kann bis zu einer Minute dauern) werden die Statistiken dieses Nachbarn in einer Grafik dargestellt. Wenn die Aktualisierung nicht automatisch erfolgt, versuche die Seite zu aktualisieren.

3. Installieren und konfigurieren von IXIs

IXIs sind Module, die die Fähigkeiten von Ict erweitern. Die beiden wichtigsten verfügbaren Optionen sind chat.ixi, ein dezentraler Chat, und report.ixi, ein Modul, das deine Ict-Statistiken an einen zentralen Server meldet, um das Netzwerk besser zu vernetzen und zu analysieren. Beachte, dass die aktuelle Version des All-in-One-Installationsprogramms diese beiden IXIs standardmäßig installiert, sodass sie bereits auf deinem Gerät vorhanden sein sollten.

Beginne mit dem Teil MANAGE MODULES. Wenn sich unter den installierten Modulen nichts befindet, müssen wir sie explizit installieren. Wenn sie bereits installiert sind, ist nur die Konfiguration erforderlich.

a. Chat.ixi

Dieses IXI ist ein Proof-of-Concept, das von der Foundation  entwickelt wurde. Wenn es nicht installiert ist, sollte es unter Unterstützte Module aufgeführt sein. Klicke einfach auf die Installation, um sie auf deinem Gerät zu installieren. Das github-Repo ist bereits vorgefertigt und du musst nur ein zweites Mal auf Installieren klicken.

Sobald das Modul installiert ist, sollte im IXI MODULES-Menü eine neue Registerkarte namens CHAT.IX angezeigt werden. Klicke darauf, um das Modul zu konfigurieren.

Manchmal erscheint dieses Menü nicht automatisch. Aktualisier einfach die Seite und es sollte ein Popup erscheinen.

Dort kannst du dein Passwort und den Benutzernamen ändern. Verwende aus Gründen der Übersichtlichkeit, falls möglich, denselben Benutzernamen wie im Discord.

Sobald dies geschehen ist, kehre zur Registerkarte MANAGE MODULES zurück und klicke neben Chat.ixi auf Starten. Du wirst wahrscheinlich zuerst mit einer Fehlermeldung begrüßt. Verwerfe sie einfach. Danach fragt der Chat dich nach dem Passwort (das du gerade geändert hast). Du kannst jetzt mit dem Chat beginnen!

b. Report.ixi

Report.ixi ist ein sehr nützliches Werkzeug, um den Zustand des globalen Ict-Netzwerks zu beurteilen, Informationen zu sammeln, die für Simulationen verwendet werden können, oder einfach die Erstellung toller Netzwerkvisualisierer zu ermöglichen.

Cooler Visualizer des Ict-Netzwerks von Olaz (Olaz Preton #0333), basierend auf report.ixi-Daten.

Dieses Modul wurde erstellt und wird von zwei Community-Mitgliedern verwaltet (testIT #4170 und ixuz #6751). Um es zu installieren, gehe auf die Registerkarte MANAGE MODULES und klicke auf Drittmodul installieren. Verwende dann die folgende Repository-Adresse: trifel / Report.ixi und installiere sie.

Nach der Installation des Moduls sollte im IXI MODULES-Menü eine neue Registerkarte namens report.ixi angezeigt werden. Klicke darauf, um das Modul zu konfigurieren.

Beginne mit einem richtigen Namen. Die Konvention, die wir alle angewendet haben ist (ict - <#>). Bitte verwende denselben Namen wie im Diskord, damit wir dich warnen können, wenn ein Problem mit deinem Node vorliegt. Die <#> ist die Nummer deines Ict-Geräts (nützlich, wenn Personen mehrere Icts haben). Die Nummerierung beginnt bei 0. So zum Beispiel

lambtho (ict-0)
lambtho (ict-1)
...

Stelle dann sicher, dass das ICT-REST-API-PASSWORT dasselbe ist, das du für die ICT-Konfiguration verwendet hast. Wenn dies nicht der Fall war, klicke nach dem Ändern auf "Speichern", und aktualisiere die Seite. Dadurch wird das Nachbarfeld automatisch ausgefüllt und der Rest der Konfiguration vereinfacht.
Vergewissern dich schließlich im Feld "Nachbar", dass jeder reportPort-Parameter korrekt ist und mit dem von ihrem Nachbarn angegebenen übeinstimmt.

Wenn du andere Ports als die Standardports für die GUI oder für Report verwenden möchtest, ändere natürlich auch diese Felder (und vergiss nicht, die Portweiterleitungsregeln in deinem Router / Ihrer Firewall anzupassen).

Zum Schluss klicke auf Speichern. Ict lädt das Modul automatisch neu. Report.ixi arbeitet im Hintergrund, du musst nicht in besonderer Weise damit interagieren. Du kannst den Zustand deines Nodes auf der Website des Berichts genau beobachten: https://www.ictreport.com.

4. Steuere Ict, interpretiere die Logs,…

Ict Steuerung

Derzeit gibt es keine Möglichkeit, Ict direkt über die GUI zu steuern. Die Steuerung kann also nur über das Terminal erreicht werden.
Zur einfacheren Verwaltung lässt das Installationsskript Ict als Dienst laufen. Das bedeutet, dass du das Terminal oder die SSH-Verbindung sicher schließen kannst und es läuft trotzdem weiter.

Du kannst Ict mit den folgenden Befehlen starten, anzeigen, stoppen oder neu starten:

sudo systemctl start ict
sudo systemctl status ict
sudo systemctl stop ict
sudo systemctl restart ict

Du kannst die Protokolle auch anzeigen mit (drücken Strg + C, um diese Protokolle zu beenden):

journalctl -fu ict

Beachte, dass auf die Protokolle auch direkt in der wbeGUI zugegriffen werden kann.

Ict Logs

Die Protokolle sollten normalerweise so aussehen

Typische Ict-Logs

Jede Minute druckt Ict fünf Metriken für jeden Nachbarn aus. Sie entsprechen dem, was nur in diesen letzten Minute passiert ist.

  1. ALL: Gesamtzahl der vom Nachbarn erhaltenen Transaktionen. Diese Zahl sollte sich von 0 unterscheiden (0 bedeutet, dass die Verbindung zwischen den beiden nicht funktioniert). Ein niedriger Wert zeigt an, dass der Nachbar schlecht mit dem Rest des Netzwerks verbunden ist.
  2. NEU: Gesamtzahl der vom Nachbarn erhaltenen neuen Transaktionen. Eine Transaktion gilt nur dann als neu, wenn sie von deinem Gerät noch nie gesehen wurde. Wenn ich also zuerst eine Transaktion A von N1 und dann etwas später von N2 erhalte, wird sie nur für N1 neu gezählt und nicht für N2. (Aber für beide wird es in ALL gezählt).
  3. REQ (angefordert): Gesamtzahl der angeforderten Transaktionen von deinem Node zu deinem Nachbarn. Dies geschieht, wenn du eine Transaktion erhältst, deren Trunk oder Zweig nicht bereits bekannt ist. In dieser Situation wird dein Ict versuchen, diese Informationen von Ihren Nachbarn anzufordern.
  4. INV (ungültig): Gesamtzahl der vom Nachbarn erhaltenen ungültigen Transaktionen. Es sollte zu jeder Zeit 0 oder nahe 0 sein. Hohe Werte zeigen einen schlechten Nachbarn an.
  5. IGN (ignoriert): Gesamtzahl der ignorierten Transaktionen. Wenn ein Nachbar viele Transaktionen im Vergleich mit den anderen Nachbarn sendet, werden einige davon ignoriert, da sie als Spam gekennzeichnet werden.

5. Alles auf dem neuesten Stand halten

Um alles auf dem neuesten Stand zu halten, kehre einfach mit cd in deinen Home-Ordner zurück.
Aktualisiere dann das All-in-One-Installationsprogramm, indem du nacheinander eintipps

cd ict-install
sudo git pull

Es könnte dir anzeigen, dass das All-in-One-Skript bereits auf dem neuesten Stand ist. Es ist in Ordnung, fahre einfach mit der Ausführung fort, das Skript ruft die neueste Version von Ict trotzdem automatisch ab.

Führe das Installationsskript schließlich noch einmal aus:

sudo bash install-ict.sh RELEASE

Ich hoffe, du hast alle Informationen gefunden, die du in diesem Tutorium benötigen. Vielen Dank an die anderen Community-Mitglieder, die dazu beigetragen haben, Ict zu dem sehr schönen Projekt zu machen, das wir jetzt haben, und natürlich auch an Microhash für seine harte Arbeit und seine wertvollen Erklärungen zu Ict.

Wenn du immer noch Probleme hast, kannst du dem #ict-help Kanal des IOTA Discord-Servers beitreten und deine Fragen stellen. Gerne helfen dir dabei viele Leute.

Spenden in IOTA sind immer sehr willkommen. Ich werde sie mit Mitgliedern der Gemeinschaft teilen, die in der Entwicklung von Ict aktiv sind.

Spendenadresse des Tutorial Erstellers:
TCO9AVVRVAVHMSHWHNGHNNYXJXPQUKXEPBALLLNZTLLRHIEOYEGWBZEBWPPGCVBFILAVRMNMSBPUBZYKBZDIEXADUW


Originaler Post:
https://medium.com/@lambtho/the-ultimate-iota-ict-tutorial-general-edition-cd4928c20fd5