Hub installieren

Mit Hub können Sie neue Benutzer erstellen, deren Startwerte sowie Einzahlungen und Auszahlungen mit jeder Programmiersprache, die gRPC unterstützt, verwenden.

Für dieses Handbuch verwenden Sie eine neue Installation von Ubuntu 18.04 LTS.

Gehen Sie folgendermaßen vor, um mit Hub zu beginnen:

  1. Installieren Sie die Abhängigkeiten
  2. Installieren Sie den Datenbankserver
  3. Hub erstellen
  4. Erstellen Sie die Datenbank
  5. Hub ausführen
  6. Hub testen

Hub muss anhand der Abhängigkeiten aus der Quelle kompiliert werden.

1. Stellen Sie sicher, dass das lokale apt-Repository auf dem neuesten Stand ist und das Multiversum-Repository enthält

sudo apt update

2. Installieren Sie einen Compiler wie GCC, Clang oder eine Toolchain von @iota_toolchains

sudo apt install gcc-7

3. Installieren Sie die Abhängigkeiten für das binäre Bazel-Installationsprogramm

sudo apt install pkg-config zip g++ zlib1g-dev unzip python

4. Laden Sie das binäre Installationsprogramm für die neueste Version von Bazel herunter

wget https://github.com/bazelbuild/bazel/releases/download/0.18.0/bazel-0.18.0-installer-linux-x86_64.sh

5. Stellen Sie sicher, dass Sie das Installationsskript ausführen können

chmod +x bazel-0.18.0-installer-linux-x86_64.sh

6. Installieren Sie Bazel unter Ihrem aktiven Benutzer mit dem Flag –user:

./bazel-0.18.0-installer-linux-x86_64.sh --user

7. Installieren Sie das pyparsing Paket für Python

sudo apt install python-pyparsing

8. Installieren Sie Git

sudo apt install git

Hub benötigt eine Datenbank (MariaDB 10.2.1+), in der Daten wie Benutzer, Adressen und Salden gespeichert werden.

Die Standard-Repositorys für Ubuntu 18.04 LTS enthalten kein Paket, das für die Datenbank verwendet werden kann. Installieren Sie stattdessen ein benutzerdefiniertes persönliches Paketarchiv (PPA) für das offizielle MariaDB-Repository.

1. Erstellen Sie einen GNU Privacy Guard (GPG) -Schlüssel für den PPA

sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8

2. Fügen Sie das MariaDB-Repository hinzu

sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el] http://ftp.utexas.edu/mariadb/repo/10.3/ubuntu bionic main'

3. Aktualisieren Sie die Paketliste

sudo apt update

4. Installieren Sie den MariaDB-Server

sudo apt install mariadb-server

Während der Installation werden Sie aufgefordert, ein Root-Passwort für MariaDB einzugeben. Geben Sie ein sicheres Passwort ein und merken Sie sich es. Sie werden es später brauchen.

1. Stellen Sie sicher, dass MySQL installiert ist

mysql --version

Die Ausgabe sollte etwa Folgendes anzeigen:

mysql  Ver 15.1 Distrib 10.3.10-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

Hier können Sie sehen, dass MariaDB 10.3.10 installiert ist. Dies ist eine höhere Version als das Minimum von 10.2.1.

Nachdem Sie alle diese Abhängigkeiten eingerichtet haben, ist es an der Zeit, Hub zu installieren.

1. Klonen Sie das GitHub-Repository

git clone https://github.com/iotaledger/rpchub.git

2. Wechseln Sie in das hub Verzeichnis

cd hub

3. Erstellen Sie den Hub aus dem Quellcode:

bazel build -c opt //hub:hub

Dieser Vorgang kann je nach Hardware oder virtueller Maschine eine Weile dauern.

Nachdem der Build abgeschlossen ist, sollte die Ausgabe etwa Folgendes anzeigen:

Target //hub:hub up-to-date:
    bazel-bin/hub/hub
INFO: Elapsed time: 1531.342s, Critical Path: 208.27s
INFO: 1377 processes: 1377 linux-sandbox.
INFO: Build completed successfully, 1811 total actions

Nach der Installation von Hub müssen Sie die Datenbanktabellen erstellen, in denen die Hub-Daten gespeichert sind.

Wichtig: Stellen Sie sicher, dass Sie in diesen Befehlen den Platzhalter myrootpassword durch das Root-Kennwort ersetzen, das Sie bei der Installation von MariaDB ausgewählt haben.

1. Erstellen Sie eine Datenbank mit dem Namen Hub

echo "CREATE DATABASE hub" | mysql -uroot -pmyrootpassword

2. Laden Sie das Datenbankschema aus dem Hub-Quellcode in die Datenbank

mysql -h127.0.0.1 -uroot -pmyrootpassword hub <schema/schema.sql

3. Importieren Sie die Datenbankauslöser

mysql -h127.0.0.1 -uroot -pmyrootpassword hub <schema/triggers.mariadb.sql

Um Hub auszuführen, müssen Sie die Binärdatei ausführen, die während des Buildvorgangs erstellt wurde. Diese binäre Datei befindet sich im Verzeichnis ./bazel-bin/hub/hub.

Bevor Sie die Binärdatei ausführen können, müssen Sie sie konfigurieren.

1. Erstellen Sie eine Shell-Skriptdatei mit dem Namen start.sh

nano start.sh

2. Fügen Sie in der Datei start.sh den Befehl zum Ausführen des Hubs mit den Konfigurationsoptionen hinzu

#!/bin/bash

./bazel-bin/hub/hub \
    --salt CHANGETHIS \
    --db hub \
    --dbUser root \
    --dbPassword myrootpassword \
    --apiAddress 127.0.0.1:14265 \
    --minWeightMagnitude 14 \
    --listenAddress 127.0.0.1:50051

Wichtig: Ändern Sie den Wert des salt Flags in eine lange, private Zeichenfolge. Dieser Wert wird von Hub zur Erzeugung von Seeds verwendet.

Führen Sie folgende Schritte aus, um die verfügbaren Konfigurationsoptionen anzuzeigen:

./bazel-bin/hub/hub --help

1. Machen Sie das Shell-Skript ausführbar

chmod a+x start.sh

2. Führen Sie das Shell-Skript aus, um Hub zu starten

./start.sh

Glückwunsch 🎉 Hub läuft jetzt auf Ihrem Computer!

Hinweis: Sie führen derzeit Hub in Ihrer Shell-Sitzung aus. Wenn Sie diese Sitzung beenden, wird der Hub angehalten. Daher sollten Sie erwägen, Hub in einer Bildschirm- / TMux-Sitzung, einem systemweiten Dienst oder einem überwachten Prozess auszuführen.

In diesem Lernprogramm verwenden Sie Supervisor, um sicherzustellen, dass der Hub nach einem Neustart oder einem Absturz immer ausgeführt wird und automatisch neu startet.

1. Installieren Sie Supervisor (drücken Sie STRG+C, um die aktuelle Shell-Sitzung zu beenden):

sudo apt install supervisor

2. Erstellen Sie eine Konfigurationsdatei für Supervisor

sudo nano /etc/supervisor/conf.d/hub.conf

3. Fügen Sie der Datei hub.conf die folgenden Zeilen hinzu:

[program:hub]
command=/home/dave/hub/start.sh
directory=/home/dave/hub/
user=dave
autostart=true
autorestart=true
stderr_logfile=/home/dave/hub/err.log
stdout_logfile=/home/dave/hub/info.log

Anmerkung: Ändern Sie den Wert des user parameters und stellen Sie sicher, dass die Pfade in den Parametern command, directory, stderr_logfile und stdout_logfile korrekt sind.

1. Speichern Sie die Datei hub.conf und laden Sie den Supervisor erneut

sudo supervisorctl reload

Der Hub sollte jetzt im Hintergrund ausgeführt werden und nach einem Neustart des Servers oder einem Absturz automatisch neu gestartet werden.

1. Überprüfen Sie den Supervisor-Status

sudo supervisorctl status

Die Ausgabe sollte ungefähr so aussehen:

hub                              RUNNING   pid 9983, uptime 0:01:22

Beim Start stellt Hub einen gRPC-Server zur Verfügung, mit dem Sie interagieren können. Der Hub verfügt über einebegrenzte Anzahl von gRPC-Aufrufen, mit denen er interagieren kann.

Sie können mit Hub über jede Programmiersprache kommunizieren, die gRPC unterstützt. In diesem Handbuch verwenden Sie Python.

1. Laden Sie den Beispielcode von GitHub herunter

cd ~
git clone https://github.com/fijter/rpchub-test.git
cd rpchub-test

2. Dieser Beispielcode hat Abhängigkeiten. Erstellen Sie eine virtuelle Umgebung, um die Installation der Abhängigkeiten in Ihrer globalen Python-Umgebung zu vermeiden

sudo apt-add-repository multiverse && sudo apt update
sudo apt install  python3-venv
python3 -m venv env

3. Aktivieren Sie die virtuelle Umgebung in einer Shell-Sitzung

. env/bin/activate

4. Installieren Sie die Abhängigkeiten

pip install -r requirements.txt

5. Erstellen Sie ein neues Benutzerkonto in Hub

python examples/create_user.py

Die Ausgabe sollte Folgendes anzeigen:

New user with id 'user-1' created!

1. Generieren Sie eine neue Einzahlungsadresse für den Benutzer

python examples/get_address.py

Die Ausgabe sollte eine neue Einzahlungsadresse für Benutzer-1 anzeigen. Fühlen Sie sich frei, ein paar IOTA-Token zu senden, um es mit Trinity auszuprobieren!

1. Holen Sie sich das Gleichgewicht und den Verlauf für den Benutzer

python examples/balance.py

Wenn Sie IOTA-Token an die Einzahlungsadresse gesendet haben, sollte die Ausgabe etwa Folgendes anzeigen:

10i available for test 'user-1'
History:
events {
    timestamp: 1540856214000
    type: DEPOSIT
    amount: 10
}

Wenn Sie sich den Verlauf der Einzahlungsadresse in einem Tangle-Explorer wie TheTangle.org anschauen, werden Sie feststellen, dass Hub das Geld von der Einzahlungsadresse weg in eine heiße Geldbörse verschoben hat. Dieser Vorgang wird Sweep genannt.

Optional: Verbessern Sie die Sicherheit von Hub, indem Sie den Signaturserver hinzufügen.


Anmerkung:

Der Inhalt kann durch die Übersetzung verfälscht sein. Im Zweifel gilt das englische Original von der IOTA Foundation (Quelle).

Quelle: https://docs.iota.org/docs/hub/0.1/how-to-guides/install-hub

  • Zuletzt geändert: 2019/02/09 12:42
  • von no8ody