Logo
  • Startseite
  • Blog
  • Kontakt
Help us build Valis
🇩🇪

Einrichten und Betreiben eines Qubic-Archivservers

image

Einrichten und Betreiben eines Qubic-Archivservers

Richten Sie einen Archivserver ein, um Qubic-Transaktionsdaten mithilfe von Skripten für Peer-Wartung, Tick-Dateien und Epochen zu speichern und zu validieren.

Qsilver · 22. Januar 2024.

Einführung

Qubic ist kein gewöhnliches Krypto! Ohne Blockchain ist zunächst unklar, wie Transaktionen validiert werden, und das wöchentliche Beschneiden von Transaktionsdaten stellt Herausforderungen bei der Bestimmung vergangener Transaktionen dar. Der Archivserver löst diese Probleme, indem er alle relevanten Daten aus jeder Epoche automatisch speichert und Epochenänderungen ohne Neukompilierung (es sei denn, das Netzwerkprotokoll ändert sich) verarbeitet.

Einrichtung und Kompilierung

Angenommen, ein Linux-Server, folgen Sie diesen Schritten, um den Archivserver einzurichten:

git clone <https://github.com/Qsilver97/qubic-cli>
cd qubic-cli
mkdir build
cd build
cmake ..
make
g++ -I.. ../bxid.cpp ../connection.cpp -o bxid

Ihr System benötigt g++ zum Kompilieren von C++-Code, cmake und e2fsprogs. Diese sind in der Regel standardmäßig vorhanden und müssen möglicherweise nicht über apt-get installiert werden.

Betreiben des Archivservers

Um den Archivserver kontinuierlich laufen zu lassen, verwenden Sie unendliche Schleifen-Bash-Skripte:

while true; do ACTION; done

Führen Sie jedes Skript in einem separaten Fenster oder asynchron mit & aus. Wenn eine Trennung ein Risiko darstellt, verwenden Sie:

nohup ./script > script.out &

Aktionen und Skripte

1. Pflegen der Peer-Liste

Erstellen Sie ein Schleifenskript mit der Aktion:

./bxid peersloop

Dieses Skript aktualisiert das Peer-Verzeichnis mit Dateien, die nach Peer-IP-Adressen benannt sind, was für Abfragen zur Ermittlung der aktuellen und vorherigen Epoche erforderlich ist.

2. Abrufen von Tick-Dateien

Erstellen Sie ein Schleifenskript mit der Aktion:

./bxid maketickfiles

Dieses Skript speichert Quorum-Dateien und Tick-Daten in ihren jeweiligen Verzeichnissen. Es arbeitet in zwei Phasen: parallele Anfragen zum Abrufen von Tick-Dateien und ein sequenzieller Modus mit Wiederholungen. Das Ausführen dieses Skripts in einer Schleife stellt sicher, dass mit jeder Iteration mehr Dateien abgerufen werden.

3. Scannen von Epochen

Erstellen Sie ein Schleifenskript mit der Aktion:

./bxid scanepoch 0

Der Epochenwert von 0 bedeutet, dass das Skript die aktuelle Epoche bestimmt und .json-Dateien für das Archiv erstellt. Stellen Sie sicher, dass die computors-Datei für die angegebene Epoche verfügbar ist.

4. Generieren von JSON-Dateien und Posten zu OpenSearch

Erstellen Sie ein Schleifenskript mit der Aktion:

./bxid jsonfiles

Dieses Skript generiert .json-Dateien und postet sie zu OpenSearch, führt grundlegende Validierungen durch und löscht ungültige Dateien.

5. Validierung

Erstellen Sie ein Schleifenskript mit der Aktion:

./bxid validate

Dieses Skript validiert Quorum-Stimmen, stellt sicher, dass 451+ Stimmen mit übereinstimmenden Hashes vorhanden sind, und überprüft den Tick-Daten-Hash. Es schützt validierte Dateien vor Wiedervalidierung.

Verwendung von OpenSearch

Installieren Sie OpenSearch, indem Sie die Anweisungen auf opensearch.org befolgen. Stellen Sie sicher, dass es auf localhost:9200 verfügbar ist. Ändern Sie die Funktionen opensearch() und opensearchpost() in bxidutils.cpp, um geeignete Anmeldeinformationen zu verwenden, wenn Anmeldungen und Zertifikate hinzugefügt werden. Um den Archivserver ohne OpenSearch zu betreiben, kommentieren Sie #define POST_TO_OPENSEARCH in bxid.cpp aus.

Zusätzliche Tools

Für diejenigen mit Zugriff auf einen Computor-Log-Feed, erstellen Sie ein bxid-Dataset mit:

./qubic-cli -nodeip (ipaddr) -getlogfromnode (pass0) (pass1) (pass2) (pass3)
./bxid logjson logfileN

Ersetzen Sie N durch die Quellnummer der Computor-Log-Einträge. Dies erstellt und pflegt Logs in logs/(epoch)/logfileN und dessen .json-Datei.

Abschließende Hinweise

Fügen Sie ein Skript hinzu, um Folgendes einzubinden:

./bxid qchain 0

Dies generiert ein qchain-Dataset, einen Digest aller invariant Daten in der Quorum-Stimme und dem vorherigen Tick-Digest. Dies hilft, identische Daten über verschiedene Archive hinweg sicherzustellen.

Fazit

Die Einrichtung des Archivservers mit seinen verschiedenen Skripten stellt sicher, dass Qubic-Transaktionsdaten umfassend gespeichert und validiert werden. Mit diesen Tools können Sie einen robusten Archivserver betreiben, der in der Lage ist, die einzigartige Transaktionsverarbeitung von Qubic zu bewältigen.

Für die neuesten Updates, treten Sie dem Valis Discord bei, folgen Sie uns auf X und setzen Sie ein Lesezeichen für unseren Blog.

← Vorherige

🇩🇪Ein inoffizieller Leitfaden zur Integration von Qubic-Diensten

Weiter →

🇩🇪Qubic Mining, Konsens und Computer

Auf dieser Seite

  • Einrichten und Betreiben eines Qubic-Archivservers
  • Einführung
  • Einrichtung und Kompilierung
  • Betreiben des Archivservers
  • Aktionen und Skripte
  • 1. Pflegen der Peer-Liste
  • 2. Abrufen von Tick-Dateien
  • 3. Scannen von Epochen
  • 4. Generieren von JSON-Dateien und Posten zu OpenSearch
  • 5. Validierung
  • Verwendung von OpenSearch
  • Zusätzliche Tools
  • Abschließende Hinweise
  • Fazit

Verwandte Beiträge

Logo

Execution

|

Transparency

XRSSDiscordGitHub