Hornet Installationsanleitung

Hallo liebe Iotaner,

obwohl es in der Vergangenheit wirklich großartige News in Punkto Kooperationen und Partnerschaften gegeben hat, ich denke da neben der Zusammenarbeit mit der Linux Foundation, auch an DELL Technologies oder auch an die Interoperabilität mit Hyperledger, ist es nun an der Zeit für einen weiteren Support des IOTA-Netzwerks, dank dem Release der HORNET Full-Node.

Beste iotanische Grüße gehen an dieser Stelle raus an die drei sehr engagierten Gründer Sebastian Fuchs (IoTMOD), Maximilian Hase (muXxer) und Alexander Sporn (alexsporn).

Bevor wir loslegen, möchte ich ein paar Anmerkungen zu der Hornet Full-Node machen. Das wirklich tolle an der Hornet Full-Node ist, das wir nun die Möglichkeit haben, das IOTA-Ökosystem durch kostengünstige low-power-devices wie zum Beispiel mit einem handelsüblichen (ab) Raspberry 3B+ zu unterstützen.

1. Allgemeine Vorbereitung des Raspberry's

Benötigte Hardware:

  • Rasperry Pi 3B+ oder höher (Empfehlung: Raspberry Pi 4 mit 4 GB RAM)
  • (Optional aber sinnvoll) ein passendes Gehäuse für den Raspberry
  • Offizielles Pi 3 Netzteil
  • microSD Karte (ich empfehle an dieser Stelle eine microSD Karte von Samsung mit einer Speicherkapazität von mindestens 64 GB) (Empfehlung für den Langzeitbetrieb: SSD-Festplatte)
  • Kartenlesegerät für microSD Karten

Wenn Ihr alles zusammen habt, können wir auch schon loslegen. ;)

Die Erstinbetriebnahme Eures Raspberry's

Dazu habe ich mir dieses Starterkit: Raspberry Pi 3 B+ (hier klicken) auf Amazon bestellt, da dieses Kit bereits alles enthält, was zum Betrieb des Raspberry erforderlich ist.

Darüber hinaus wird eine USB-Tastatur und USB-Maus sowie ein Bildschirm (bspw. Fernseher) mit einem HDMI-Anschluss benötigt.




Beginnen wir mit dem Auspacken ;)






Nachdem alles entpackt wurde, beginnen wir mit dem Zusammenbau des Raspberry Pi. Dazu müsst Ihr zunächst das dreiteilige Gehäuse wie auf den Bildern zu sehen ist, auseinandernehmen.




Danach wird die Platine in das Gehäuse eingesetzt.



Im nächsten Schritt legt Ihr dazu zuerst die Platine des Raspberrys in das Gehäuse ein, wie nachfolgend gezeigt:



Beim Einsetzen der Platine in das Gehäuse, müsst Ihr lediglich darauf achten, das Ihr die Platine unter die hervorstehenden Plastiknasen schiebt.



Anschließend wird das mittlere Gehäuse, also das mit den Aussparungen für die einzelnen Anschlüsse aufgesetzt.



Danach sollte das Ganze so aussehen ;)



Jetzt könnt Ihr noch das obere Teil draufsetzen und seit somit mit dem Basteln schon fast fertig.





Im oberen Bild seht Ihr den fertig zusammengebastelten Raspi.

2. Installation des Betriebssystems Raspbian Buster Lite auf der SSD Festplatte oder microSD Karte

Besucht die Downloadseite der Raspberry Pi Foundation und ladet Euch die Version: "Raspbian Buster Lite" herunter.

Ladet Euch danach das Tool Rufus zum erstellen einer startfähigen USB-Festplatte herunter.

https://rufus.ie/




Nach der Installation von Rufus öffnet Ihr das Tool mit einem Doppelklick und verbindet Eure USB-SSD-Festplatte mit Eurem Rechner. Die Festplatte wird in der Regel automatisch erkannt.
Jedoch müsst Ihr als Erstes auf "Erweiterte Laufwerkseigenschaften einblenden" klicken, dann das Häkchen bei "USB-Festplatten anzeigen" setzen.


Als drittes müsst Ihr noch Euer Raspbian Buster Lite image auswählen.



Danach könnt Ihr den Flashvorgang starten...


Hinweis: Den nachfolgenden Schritt bitte nur dann umsetzen, wenn Ihr keine SSD Festplatte verwendet!


Anschließend wird das heruntergeladene Betriebssystem auf die microSD Karte mithilfe des Balena-Etcher Tools gepackt.



Nachdem Ihr das Tool für euer Betriebssystem heruntergeladen habt, könnt Ihr es mit einem Doppelklick installieren. ;)



Anschließend öffnet sich das Tool automatisch. Falls nicht, könnt Ihr es unter Windows über das Startmenü starten...Ihr werdet nun mit dem folgenden Bildschirminhalt begrüßt:




Klickt nun auf: "Select image"




Navigiert nun zu Eurem Download Ordner indem sich das entpackte Raspbian Buster OS befindet und führt einen Doppelklick auf den Ordner zum entpacken aus:

Wichtig: Der Hornet-Fullnode Betrieb mit der Raspbian Buster with Desktop OS Version, klappt erst reibungslos ab einem Raspberry 4! Ab den Modellen Raspberry 3 bzw. 3b+, ladet Euch bitte das Raspbian Buster Lite herunter.
Download Raspbian Buster Lite: https://downloads.raspberrypi.org/raspbian_lite_latest



Danach müsst Ihr nur noch auf die darin enthaltene Datei klicken und das image ist ausgewählt.



Das "target" im Balena-Etcher Tool wird automatisch erkannt, wenn Ihr Euren Kartenleser mit der darin eingelegten microSD-Karte an Euren Rechner angeschlossen habt.





Jetzt müsst Ihr nur noch auf "Flash" klicken und die Magie beginnt ;)



Am Ende des Flashvorgangs findet noch eine automatisierte Validierung statt und danach könnt Ihr die microSD-Karte wieder in euren Raspberry packen.



Jetzt wird die Micro SD Karte in den Micro SD Karten Slot eingesetzt, diese bitte nicht falsch herum einsetzen (dürfte auch nicht funktionieren)

So herum also bitte nicht ;)



Sondern eher so:



Nochmal die Unteransicht wie das Ganze nun mit der eingesetzten micro SD Karte aussehen sollte...




Jetzt kommen wir zu einem weiteren spannenden Part - nämlich die Verkabelung und sozusagen der erste Elektronendurchfluss durch den Raspberry Pi ;) Dazu benötigt Ihr neben dem mitgelieferten HDMI-Kabel und Netzteil am besten eine USB-fähige Tastatur und eine USB-Kabelmaus sowie einen Bildschirm mit einem HDMI-Anschluss. Ihr verbindet dazu das HDMI-Kabel mit dem HDMI-Anschluss eures Bildschirms sowie die Tastatur und die Maus mit den USB Anschlüssen des Raspberrys.Zu guter letzt wird das Netzteil mittels des Micro USB Anschlusses (dieser befindet sich neben dem HDMI Anschluss) mit einer Steckdose verbunden.

Wichtig: Denkt auch dran, Euren Raspberry entweder per WLAN oder mittels eines LAN-Kabels mit Eurem Router zu verbinden, damit Ihr eine Verbindung zum Internet habt. Nachfolgend zeige ich Euch, wie Ihr die Verbindung mittels WLAN herstellen könnt. Da das Netzwerk bzw. LAN-Kabel einfach nur in Euren Router oder Switch und dann mit dem Netzwerk Anschluss (Ethernet / RJ45) Eures Raspberry Pi's verbunden wird.

Gestartet wird der Raspberry indem Ihr Ihn einfach mit Strom bzw. Spannung versorgt. Also einfach das mitgelieferte Netzteil einstöpseln und loslegen.

3. Login und Konfiguration des Raspberry's über Putty (Änderung des Passworts und WiFi-Verbindung herstellen)

Nachdem Ihr das Raspbian Buster Lite image erfolgreich mittels Rufus oder des Balena Etcher Tools installiert und die SSD Festplatte per USB Kabel mit dem Raspberry Pi verbunden habt, oder alternativ die microSD in Euren Raspi eingelegt habt, werdet Ihr mit dem Folgenden Bildschirminhalt begrüßt:




Loggt Euch zunächst mit dem Standardnamen "pi" und dem Standardpasswort "raspberry" auf dem Raspberry Pi ein. Achtung, es ist das amerikanische Tastaturlayout voreingestellt, das heißt, y=z!!! Ansonsten klappt der Login nicht ;)

Code
pi
Code
raspberry


Danach könnt Ihr das Raspberry Pi Software Configuration Tool aufrufen indem ihr den Befehl:

Code
sudo raspi-config

eintippt. Hier befindet sich das Minuszeichen neben der 0 auf Eurer Tastatur. ;) und Ihr seht folgendes:





3.1 Änderung des Passworts

Als erstes ändern wir das User Passwort: Change User Password

Nach der Auswahl werdet Ihr dazu aufgefordert ein neues Passwort zu vergeben:



Drückt die Enter Taste und vergebt ein neues sicheres Passwort nach den empfohlenen Passwortregeln...;)



Während der Eingabe seht Ihr keine Zeichen!



Nachdem Ihr das Passwort erfolgreich gesetzt habt, erscheint noch die folgende Meldung:

3.2 WiFi-Verbindung herstellen

In diesem Schritt stellen wir noch eine Verbindung zu unserem Netzwerk her, wobei ich Euch kurz die WiFi-Einrichtung zeigen möchte. Eine Verbindung über ein LAN-Kabel ist ja wie üblich kein Problem ;)

Klickt im Übersichtsmenü auf "Network Options"

und wählt den zweiten Punkt N2 Wi-fi aus.



Gebt nun Eure SSID ein und bestätigt mit Enter. Diese könnt Ihr entweder Eurer Fritzbox entnehmen oder Eurem Smartphone wenn Ihr bspw. unter iOS auf die Einstellungen klickt und dann WLAN auswählt- die SSID ist der Name Eures Netzwerks.



Danach müsst Ihr nur noch Euren WLAN-Key eintippen und den Raspberry anschließend einmal mit dem Befehl sudo reboot neustarten.



Um zu überprüfen ob alles einwandfrei geklappt hat, könnt Ihr nachdem Neustart einfach den Befehl:


Code
ifconfig -a

eingeben und Ihr seht Eure lokale IP...


4. Aktivierung des SSH-Servers

Nach diesem Mini-Marathon, aktivieren wir nun den berühmt berüchtigten SSH-Server auf dem Raspberry Pi.

Gebt dazu im Terminal den folgenden Befehl ein:

Code
sudo raspi-config




und wählt dort die Interfacing Options aus.



Wählt anschließend SSH aus



Bestätigt die Aktivierung des SSH-Servers mit Yes.



Die erfolgreiche Aktivierung wird mit: The SSH Server is enabled bestätigt.



Der SSH-Server läuft nun, und wird auch automatisch bei jedem Neustart des Systems mitgestartet. Jetzt könnt Ihr eine Verbindung bspw. mit dem Putty Client zu dem aktivierten SSH-Server Eures Raspberry's herstellen.

5. Herstellung einer Remote-Verbindung mit dem Putty Client zum SSH-Server

Download des Putty-Client, dies ist ein Client mit dem Ihr eine (gesicherte) Verbindung zu eurem Server über SSH herstellen könnt. Download --> https://www.putty.org/



Startet nun den zuvor installierten Putty-Client und tragt dazu eure lokale IP-Adresse ein, die Ihr bspw. der Fritzbox entnehmen könnt, und klickt auf "Open".




Loggt Euch nun mit dem Standardbenutzernamen "pi" und Eurem zuvor gesetzten UNIX-Passwort ein. (Nicht verwirren lassen, ich habe meinen Benutzernamen bereits geändert...;)

Tipp: Wenn Ihr Eure lokale IP-Adresse eingetragen habt, könnt Ihr unter "Saved Sessions" einen Namen eingeben, bspw. Raspberry Pi Hornet Node und mit "Save" für ein erneutes Aufrufen speichern. Damit erspart Ihr Euch die manuelle Eintragung bei einer erneuten Verbindung mittels Putty.




Damit ist die Allgemeine Vorbereitung des Raspberry's abgeschlossen.


6. Sicherstellung der Erreichbarkeit aus dem Internet

Für den Betrieb der Hornet Full-Node muss diese natürlich auch aus dem Internet erreichbar sein. Das bedeutet, das wir eine statische IP-Adresse oder einen Domainnamen benötigen. Dafür gibt es zwei Möglichkeiten:

  • Verwendung eines DynDNS Dienstes wie bpsw. No-IP.
  • Erhalt einer statischen Domain

6.1.: Einrichtung der DynDNS Anbieter No-IP

Nun benötigen wir für den Betrieb der ICT-Node eine statische IP-Adresse, die wir uns bei NOIP, wieder kostenfrei beziehen können.

Registriert euch bei NOIP und legt Euch einen Account an: Link zur Registrierung: noip.com (hier klicken)




Danach seht Ihr die folgende Benutzeroberfläche:




Tragt nun unter Hostname einen Namen Eurer Wahl ein. Wichtig: Ihr müsst Euch alle 30 Tage einmal bei noip einloggen, damit der Account bzw. statische IP Adresse respektive der Domainname erhalten bleibt. Ihr erhaltet dazu aber von noip vor Ablauf dieser 30-tägigen Frist eine Erinnerungsmail.




Jetzt installieren wir den Dynamic DNS Client auf unserem Raspberry.

Verbindet Euch nun mittels Realvnc mit Eurem Raspberry und öffnet das Terminal und gebt dort den Befehl:

Code
mkdir /home/pi/noip

ein. Damit werden auf Eurem Raspberry in dem home-Ordner, die beiden Ordner "pi" und "noip" erstellt.




Dann gebt Ihr den Befehl:

Code
cd /home/pi/noip

ein. Damit wechselt Ihr in das soeben erstellte Verzeichnis "noip".




Gebt nun den Befehl:

Code
wget http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz

ein. Damit ladet Ihr Euch das Installationspaket des Noip-Client herunter.




Anschließend wird das Ganze mit dem Befehl:

Code
tar vzxf noip-duc-linux.tar.gz

entpackt.




Jetzt wechselt Ihr ins Verzeichnis noip-2.1.9-1, wo sich die ausführbaren Dateien befinden...

Code
cd noip-2.1.9-1




...und installiert den Client mit den Befehlen:

Code
sudo make

und danach mit

Code
sudo make install



Wenn alles geklappt hat, werdet Ihr dazu aufgefordert Eure E-Mail Adresse (die Ihr für den Login bei NOIP vergeben habt) einzugeben, und bestätigt die Eingabe mit "Enter". Danach müsst Ihr noch Euer Passwort (Login Passwort von NOIP) eingeben und wiederum mit "Enter bestätigen".



Für das Updateintervall müsst Ihr aus technischen Gründen eine Zahl "größer 5" eingeben. Ich habe hier 20 Minuten gewählt.



Die nachfolgende Frage könnt Ihr mit N verneinen.



Und Ihr solltet folgendes sehen:




Um das Ganze noch zu starten gebt Ihr jetzt noch den Befehl:

Code
sudo /usr/local/bin/noip2

ein und bestätigt mit "enter".




Hinweis: Um den Service im Falle eines Neustarts des Raspberrys automatisch mitzustarten gebt Ihr im Terminal den folgenden Befehl ein:

Code
crontab -e

und wählt die 1 bzw. bin/nano aus. (Dies habe ich bereits getan und kann daher nicht mehr gezeigt werden)




Jetzt fügt Ihr in dieser Datei den folgenden Befehl

Code
@reboot cd /home/pi/noip && sudo noip2

ein --> (einfach runterscrollen - wie auf dem nachfolgenden Screenshot zu sehen ist und einfügen) und drückt anschließend "Strg+o" und "Strg+x" um das Fenster wieder zu verlassen.



Wenn Ihr Euch jetzt wieder bei NOIP einloggt solltet Ihr folgendes sehen:






Um zu überprüfen ob alles funktioniert, könnt Ihr im Terminal einfach den folgenden Befehl eingeben:

Code
host your_full_noip_name

Dann solltet Ihr, wenn alles ordnungsgemäß funktioniert, folgendes sehen:

6.2.: Einrichtung des DynDNS-Services von Selfhost mittels einer eigenen statischen Domain

Ich persönlich bevorzuge den Webhosting und DynDNS Anbieter Selfhost, da dieser Anbieter sehr zuverlässig ist und ich bislang noch keinerlei Probleme damit hatte.

Wie Ihr relativ simpel eine statische Domain für den Betrieb einer IOTA-Fullnode oder der neuen HORNET-Node von dem sehr zuverlässigen Webhosting und Dyndns Anbieter selfhost.de erhaltet und welche Einstellungen erforderlich sind, um Eure neu registrierte Domain aus dem Internet erreichen zu können, habe ich hier Schritt für Schritt beschrieben. Damit ich nicht einfach alles nochmal reinkopieren muss, verlinke ich einfach auf den älteren Beitrag.

Erhalt einer statischen Domain von selfhost.de für den Betrieb einer IOTA-Fullnode

7. Einrichtung des Scripts ZRAM für einen deutlich stabileren Hornet Full-Nodebetrieb

Da ich und auch andere sehr engagierte Iotaner, während des Betriebs der Hornet -Full-Node festgestellt haben, das diese sich bei einem Raspberry Pi 3b+ im aktuellen Entwicklungsstadium doch noch öfters aufhängt und dies natürlich mit der Zeit nerven kann, möchte ich Euch nachfolgend aufzeigen, wie die Hornet Full-Node mithilfe des Scripts ZRAM nun deutlich stabiler läuft.

Mithilfe des ZRAM Skripts (ZRAM steht für: virtual swap compressed in RAM) hält die Node schon wesentliches länger durch. Hierbei belegt der Linux Kernel zunächst den gesamten vorhandenen RAM des Raspberry's, und danach werden Teile davon ins ZRAM komprimiert und in den Speicher verschoben. Dadurch können mehr Daten im Arbeitsspeicher gehalten werden. Dies wirkt sich je nach Auslastung der Node lediglich durch eine höhere Prozessorauslastung aus, da eben die vorhandene CPU die Daten komprimieren muss.


Besten Dank an den Iotaner AndyIOTA für diesen tollen Tipp, welcher allen Nodebetreibern einen deutlich stressfreieren Nodebetrieb ermöglicht. ;)

Hierfür sind nur 4 simple Schritte erforderlich:

1. Download des Skripts

Code
sudo wget -O /usr/bin/zram.sh https://raw.githubusercontent.com/ric96/zram/master/zram.sh


2. Die heruntergeladene Datei ausführbar machen:


Code
sudo chmod +x /usr/bin/zram.sh


3. Editieren der /etc/rc.local Datei damit das Skript nach einem Neustart des Raspberry's automatisch aktiviert und mitgeladen wird.


Code
sudo nano /etc/rc.local


4. Nachfolgende Codezeile bevor "exit 0" einfügen

Code
/usr/bin/zram.sh &


Die vorgenommenen Änderungen an der Datei speichert Ihr anschließend mit Strg+o ab und verlasst die Datei mit Strg+x wieder.


Alle Schritte werden nachfolgend nochmal kurz gezeigt.





Den obigen Eintrag mit Strg+o speichern und mit Strg+x die Datei verlassen...

und dann einmal den Raspberry Pi mit:

Code
sudo reboot

neustarten.

8. RAM-Erweiterung des Raspberry Pi's durch die Konfiguration einer SWAP Auslagerungsdatei und Anpassung des Swappiness Werts

Es kann jedoch passieren, das der Arbeitsspeicher Eures Raspberry's, vor allem bei den Raspberry Pi's ab der dritten Generation, trotz des ZRAM Skripts, welches zur Komprimierung der Daten im Arbeitsspeicher verwendet wird, nicht ausreichend ist. Um diesen Fall abzufangen bzw. zu verhindern, das bei einer Überlastung des RAM-Speichers die Node gestoppt wird, erweitern wir nun mithilfe einer Auslagerungsdatei den vorhandenen Arbeitsspeicher des Raspberry Pi's.

Der SWAP ist ein Zwischenspeicher und nutzt neben dem vorhandenen RAM-Speicher zusätzlich den Speicherplatz Eurer SSD oder alternativ Eurer microSD Karte. Der Nachteil besteht insbesondere bei einer microSD Karte darin, dass das Lesen und Schreiben von Daten in den Arbeitsspeicher wesentlich langsamer als bei einer SSD-Festplatte ist oder gar direkt in dem RAM ist. Aber für den Betrieb einer Hornet-Fullnode reicht das allemal aus. ;)

Wir verdoppeln den SWAP indem wir einfach den Arbeitsspeichers Eures Raspberry Pi's mit 2 multiplizieren, daher die 2048 MB ;)
Kopiert einfach die folgenden Befehle ins Terminal via Putty:

Code
sudo su -c 'echo "CONF_SWAPSIZE=2048" > /etc/dphys-swapfile'
Code
sudo dphys-swapfile setup


Die Aktivierung des festgelegten SWAP-Speichers erfolgt mit dem Befehl:

Code
sudo dphys-swapfile swapon

Die nachfolgenden Screenshots zeigen Euch nochmal die einzelnen Schritte auf.









Hier ein Screenshot für die aktuelle Uptime meiner Node (Modell: Raspberry Pi 3b+)






Damit haben läuft die Node schon sehr gut. Jedoch gibt es noch eine technische Lösung, damit die RAM Probleme, also die sogenannten OOM-Issues der Vergangenheit angehören. Besten Dank an Andyiota für das austesten und experimentieren zum Auffinden dieser Lösungen. Das finde ich echt klasse, weil diese Lösungen uns Nodebetreibern das Leben deutlich erleichtern. ;)

Nach der Einrichtung des ZRAM Skripts gibt es also eine weitere Medizin (technische Optimierung) für die Node.

Der Standard Swappiness Wert von 60 sorgt im Regelfall für ein gutes Gleichgewicht zwischen dem System-Chache und den Speicherseiten von Anwendungen. Wenn sich aber aufgrund des begrenzten Arbeitsspeichers deutliche Verzögerungen des Systems in Bezug auf die darauf laufenden Anwendungen bemerkbar machen, dann kann man den Swappiness Wert reduzieren. Nach einer längeren Testphase hat sich herausgestellt, dass ein Swappiness Wert von 1 die beste Einstellung ist. Den aktuell eingestellten Swappiness Wert könnt Ihr mit dem nachfolgenden Befehl überprüfen:

sysctl vm.swappiness

Um eine Änderung des Swappiness Werts vorzunehmen, müsst Ihr den nachfolgenden Befehl eingeben:

sudo sysctl vm.swappiness=1

Damit bei einem Neustart die Einstellung vorhanden bleibt müsst Ihr die sysctl.conf Datei bearbeiten. Navigiert dazu in den Ordner:
cd /etc/
und öffnet die sysctl.conf mit dem Nanoeditor:

sudo nano sysctl.conf

Dann ganz am Ende der File müsst Ihr nur noch das Folgende eintragen:

vm.swappiness=1

und die Änderungen in der Datei mit Strg + O und Eingabetaste speichern und mit Strg + X verlassen. Das war es auch schon. ;) Damit gehören etwaige Abstürze der Node aufgrund des RAMS der Vergangenheit an.

9. Download und Installation der HORNET Full-Node

Update: An dieser Stelle wird es jetzt super easy dank des Hornet Lightwight Installer Scripts, welches uns der Iotaner No8ody kreiert hat. Dieses Script übernimmt den nachfolgend gezeigten Download und die Installation für Euch und richtet auch vollautomatisiert den Service zur Steuerung der Hornet Full-Node ein. Darüber hinaus wurde nun eine Übersichtsseite mit weiteren coolen Features gebastelt. Ihr habt nun die Möglichkeit, Eure Hornet Full-Node komfortabel mit neuen Updates zu versorgen, Ihr könnt im Falle des Falles den mainnetDB Ordner löschen und ganz wichtig, Eure Node dem Community Nodepool von Tanglebay hinzufügen. ;) Das einzigste an das Ihr an dieser Stelle noch denken müsst, sind die Portfreigaben in der Fritzbox. Für die volle Funktionalität, werden die folgenden Portfreigaben benötigt:

Portfreigabe für die Verwendung der Trinity-Wallet: Protokoll TCP, Port: 14266

Portfreigabe für den Zugriff auf das Dashboard über das Internet: Protokoll TCP, Port: 14267

Natürlich könnt Ihr hier auch einen anderen Port als die voreingestellten Ports eintragen. Was ich Euch aus Sicherheitsgründen auch empfehlen würde. ;) Notiert Euch Eure freigegebenen Ports, da wir diese im weiteren Verlauf noch in der Konfigurationsdatei eintragen müssen...



Ihr müsst hierzu nur die nachfolgenden Codezeilen in das Terminal eingeben und dann geht es auch schon los. ;)

Erster Schritt: Erstellt Euch am besten einen neuen Ordner für das Skript im Ursprungs- bzw. Rootverzeichnis, indem Ihr die nachfolgenden zwei Befehle in Euer Terminal einfügt. Gleichzeitig wechseln wir durch den zweiten Befehl auch in den soeben erstellten Ordner. Gebt Euer Passwort ein und bestätigt die Eingabe mit Enter. ;)

Erster Befehl:

Code
cd /

Zweiter Befehl:

Code
sudo mkdir hornet-installer && cd hornet-installer

Zweiter Schritt: Herunterladen des Skripts:

Code
sudo wget -O hornet-installer.sh https://raw.githubusercontent.com/TangleBay/hornet-light-installer/master/hornet-installer.sh

Im dritten Schritt wird das heruntergeladene Skript mit dem folgenden Befehl ausführbar gemacht:

Code
sudo chmod +x hornet-installer.sh



Anschließend können wir den Installer nun mit dem Befehl:

Code
sudo ./hornet-installer.sh

öffnen.



Danach öffnet sich die Konfigurationsdatei, welche in drei Abschnitten gegliedert ist. Im ersten Abschnitt unter "CONFIG FOR THE HORNET INSTALLER" legt Ihr das OS (Operating System) fest. Standardmäßig steht hier bereits ARM für einen Raspberry Pi ab der dritten Generation drin. Für alle anderen linuxbasierten Systeme wie bspw. Ubuntu, müsst Ihr dann x86_64 eintragen. Dies gilt in der Regel auch für VPS-Systeme auf denen Linux Betriebssysteme, wie zum Beispiel Ubuntu oder Debian laufen. Weiterhin könnt Ihr einen eigenen Benutzernamen eingeben und nun auch das Profil für den zu verwendeten RAM selbst auswählen. Was auch neu hinzugekommen ist, Ihr habt nun die Möglichkeit Eure Nachbarn direkt in die Konfigurationsdatei einzutragen, damit ersparen wir uns das Öffnen der json.config.Datei.

Dann wenden wir uns dem zweiten Abschnitt "CONFIG FOR THE PROXY INSTALLER" zu. In diesem tragt Ihr Euren öffentlichen Domainnamen oder bei einem VPS-System Eure statische IP-Adresse ein und tragt anschließend die geöffneten Ports, welche Ihr in Eurer Fritzbox freigegeben habt, ein.


Im dritten Abschnitt "CONFIG FOR THE TANGLE BAY INSTALLER" tragt Ihr einen beliebigen coolen Namen für Eure Hornet-Fullnode ein, damit Ihr Eure Full-Node bequem in den Tangle Bay Hafen einlaufen lassen könnt. ;) Wichtiger Hinweis: Das Passwort wird an dieser Stelle noch nicht eingetragen, sondern erst, wenn Ihr die Node, nach dem erfolgreichen Erhalt des SSL Zertifikats bei Tangle Bay hinzufügen möchtet. Das heißt, es wird ein Passwort nach der Ausführung des 7.ten Punkts im Installer für Euch generiert. Aber dazu kommen wir noch... ;)
Seit der Version 0.1.5 des HLI-Skripts, besteht nun die Möglichkeit eine Donationsaddress mit anzugeben. Da wir noch keine wiederverwendbaren Adressen haben, bitte ich Euch zwingend das Sparschwein Prinzip zu befolgen. Das heißt, Ihr könnt solange Einzahlungen auf eine Adresse empfangen, bis Ihr einmal etwas verschickt habt. Danach müsst Ihr zum aktuellen Zeitpunkt noch zwingend eine neue Donationaddress via Trinity neu generieren.
Wenn Ihr alle Eintragungen entsprechend vorgenommen habt, wird der veränderte Inhalt der Konfigurationsdatei mit Strg+o gespeichert und Ihr könnt die Konfigurationsdatei mit Strg+x wieder verlassen.

So sieht das Ganze aus wenn Ihr den Installer das erste mal startet:



Danach öffnet sich die Begrüßungsseite des Installers mit den Auswahloptionen. Das Installationsmenü besteht aus 3 Sektionen, welche logisch nach der entsprechenden Verwendbarkeit gegliedert ist.

Die Sektion 1, Hornet Manager: hier findet Ihr alle relevanten Steuerungsbefehle für Eure Hornet-Node.

Die Sektion 2, Tangle Bay Manager: hier wird die Node dem Tangle Bay Dock hinzugefügt. Wie das genau abläuft, seht Ihr im weiteren Verlauf dieses Tutorials.

Die Sektion 3, Install Manager: diesen benötigt man im Grunde genommen nur das erste Mal für die Installation der Hornet Node (Option 10) und des nginx reverse Proxys (Option 11), damit Ihr Eure Node anschließend dem Dock über die Option 7 hinzufügen könnt.



Um die Hornet Node zu installieren wählen wir erst die 10 aus und der Download und Installationsvorgang beginnt.

Der Abschluss des Downloads und der Installation wird mit dem Hinweis: Finish up hornet installation...done. Bye bye!
quittiert.

An dieser Stelle läuft die Hornet-Fullnode auch schon. ;)

Als nächstes wenden wir uns der Installation des Reverse Proxys zu, wobei Ihr automatisch auch ein SSL Zertifikat von Lets Encrypt erhaltet.

Wählt den 11 Punkt aus und lehnt Euch entspannt zurück... ;)



Nach wenigen Minuten müsst Ihr einmal Eure E-Mail Adresse eingeben, um Infos über die Erneuerung des Zertifikates zu bekommen und über Sicherheitsthemen informiert zu werden...



Bestätigt das Ihr einverstanden seid...mit A



Je nachdem ob Ihr Eure Daten mit der EFF teilen wollt, könnt Ihr Y oder N eingeben ;)



Danach noch die 1 eintippen, um die Einrichtung des Zertifikats zu finalisieren.



Danach solltet Ihr nach dem Erhalt sowie der erfolgreichen Einrichtung des SSL Zertifikats folgendes sehen:



und Ihr seit an dieser Stelle mit dem Punkt 4 fertig ;)

Nun wenden wir uns dem letzten wichtigen Punkt des Installers zu, nämlich das Hinzufügen Eurer Hornet-Full-Node zum Tangle Bay Community Dock! Dies ist eine Pflichtaufgabe eines jeden Iotaners ;)

Öffnet wieder den Installer: Pfeiltaste hoch oder durch erneutes einfügen des Befehls:

Code
sudo ./hornet-installer.sh

und wählt nun die Option 7 aus.

Markiert das angezeigte Passwort und klickt in der oberen Leiste des Terminals auf "Bearbeiten" und "kopieren" und speichert das Passwort sicher ab.



Danach seht Ihr Eure Node im Hafen von Tangle Bay unter der folgenden Adresse:

https://dock.tanglebay.org/

Hinweis: Erst wenn Eure Full-Node synchron mit dem letzten Meilenstein ist, wird sie auch als available angezeigt. Also erstmal nicht wundern ;)

An dieser Stelle möchte ich dem Iotaner No8ody für dieses super Skript danken und wünsche Euch allen ein stressfreien Nodebetrieb. Schaut immer mal wieder in die Telegram Gruppe für neue Updates rein:

Link: https://t.me/TangleBay

Tipp: Wer einen Raspberry Pi der dritten Generation verwendet, kann mal für einen fehlerfreien Nodebetrieb einen Blick auf das Skript ZRAM werfen, welches Ihr dem vierten Punkt dieses Tutorials entnehmen könnt. 4. Einrichtung des Scripts ZRAM für einen deutlich stabileren Hornet Full-Nodebetrieb.

10. Grundlegende Bedienung der HORNET Full-Node

Um das Dashboard aufrufen zu können müsst Ihr via Putty bzw. des Terminals in Euren Hornet-Ordner navigieren und die json.config File bearbeiten.


Code
cd /


Code
cd home/iota/hornet


Code
sudo nano config.json




und Ihr seht nun den Inhalt der json.config File.




Scrollt mit der unteren Pfeiltaste runter bis Ihr den Eintrag "dashboard" seht. Hier könnt Ihr nun Eure lokale IP Adresse oder alternativ einfach 0.0.0.0 eintragen. Die Änderung wird wieder mit Strg+o und Enter gespeichert und mit Strg+x verlasst Ihr die Config.File wieder.



Jetzt könnt Ihr von einem anderem Heimrechner oder Tablet Eure lokale IP Adresse in Verbindung mit dem Port 8081 eingeben und Ihr seht das wirklich toll gestaltete neue Dashboard. ;)

Weiterhin könnt Ihr Euch neben den Autotether Nodes natürlich auch noch weitere Nachbarn suchen.
Diese findet Ihr am besten im IOTA-Discord Channel unter #nodesharing

Sobald Ihr ein paar nette Iotaner-Nachbarn gefunden habt, müsst Ihr deren Adressen in der neighbors.json Datei eintragen. Öffnet dazu wieder das Terminal und öffnet dazu erneut das Installer Skript, welches in unserem Rootverzeichnis unter cd hornet-installer zu finden ist.

Code
cd /
Code
cd hornet-installer
Code
sudo ./hornet-installer.sh

Öffnet die neighbors.json Datei in dem Ihr die Option 3 auswählt und navigiert nun mit der unteren Pfeiltaste zu dem Punkt "neighbors" und tragt dort Eure erhaltenen Nachbar Adressen ein. Zudem habt Ihr die Möglichkeit ein Aliasnamen für die jeweilige Nodeadresse zu vergeben. Anschließend speichert Ihr die Änderungen wieder mit "Strg+o" und "Enter" ab und verlasst die Datei mit "Strg+x" wieder.

Danach sollte sich nach wenigen Minuten im Dashboard was tun. ;)

Damit haben wir das Ende dieses Tutorials erreicht und ich wünsche Euch künftigen HORNET-Full-Node Betreibern viel Spaß und einen fehlerfreien performanten Betrieb Eurer Hornet-Full-Node.

Falls Ihr auf Telegram vertreten seid, lade ich Euch herzlichst in unsere Telegram Gruppe für einen angenehmen informativen Austausch über IOTA ein.

Link: https://t.me/TangleBay

Falls Ihr weitere Fragen dazu oder zu anderen IOTA-relevanten Themen habt, könnt Ihr diese jederzeit gerne an mich oder unser Team, (liebe Grüße an Kryptonaut und Iotangle ;) ) auf der einfach IOTA Community Plattform stellen.

Mit den besten iotanischen Grüßen

Euer PIOTA