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.
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