Configuration et exécution d'un serveur d'archive Qubic
Configurez un serveur d'archive pour stocker et valider les données de transaction Qubic à l'aide de scripts pour la maintenance des pairs, les fichiers de tick et les époques.
Qsilver · 22 janvier 2024.
Introduction
Qubic n'est pas votre crypto-monnaie ordinaire ! Sans blockchain, il n'est pas clair au départ comment les transactions sont validées, et l'élagage hebdomadaire des données de transaction présente des défis pour déterminer les transactions passées. Le serveur d'archive résout ces problèmes en stockant automatiquement toutes les données pertinentes de chaque époque, gérant les changements d'époque sans recompilation (sauf si le protocole réseau change).
Configuration et Compilation
En supposant un serveur Linux, suivez ces étapes pour configurer le serveur d'archive :
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
Votre système aura besoin de g++
pour compiler le code C++, de cmake
et de e2fsprogs
. Ceux-ci sont généralement standards et peuvent ne pas nécessiter d'installation via apt-get
.
Exécution du Serveur d'Archive
Pour exécuter le serveur d'archive en continu, utilisez des scripts bash en boucle infinie :
while true; do ACTION; done
Exécutez chaque script dans une fenêtre séparée ou de manière asynchrone avec &
. Si la déconnexion est un risque, utilisez :
nohup ./script > script.out &
Actions et Scripts
1. Maintenir la Liste des Pairs
Créez un script en boucle avec l'action :
./bxid peersloop
Ce script mettra à jour le répertoire des pairs avec des fichiers nommés d'après les adresses IP des pairs, essentiel pour que les requêtes trouvent les pairs de l'époque actuelle et précédente.
2. Récupération des Fichiers de Tick
Créez un script en boucle avec l'action :
./bxid maketickfiles
Ce script enregistre les fichiers de quorum et les données de tick dans leurs répertoires respectifs. Il fonctionne en deux phases : des requêtes parallèles pour obtenir les fichiers de tick et un mode séquentiel avec des réessais. Exécuter ce script en boucle garantit l'obtention de plus de fichiers à chaque itération.
3. Balayage des Époques
Créez un script en boucle avec l'action :
./bxid scanepoch 0
La valeur d'époque de 0 signifie que le script déterminera l'époque actuelle et générera des fichiers .json
pour l'archive. Assurez-vous que le fichier computors
pour l'époque spécifiée est disponible.
4. Génération de Fichiers JSON et Publication sur OpenSearch
Créez un script en boucle avec l'action :
./bxid jsonfiles
Ce script génère des fichiers .json
et les publie sur OpenSearch, effectuant des validations de base et supprimant les fichiers invalides.
5. Validation
Créez un script en boucle avec l'action :
./bxid validate
Ce script valide les votes de quorum, s'assurant de 451+ votes avec des hachages correspondants et vérifiant le hachage des données de tick. Il protège en écriture les fichiers validés pour éviter une revalidation.
Utilisation d'OpenSearch
Installez OpenSearch en suivant les instructions sur opensearch.org. Assurez-vous qu'il est disponible sur localhost:9200
. Modifiez les fonctions opensearch()
et opensearchpost()
dans bxidutils.cpp
pour utiliser les identifiants appropriés si des connexions et des certificats sont ajoutés. Pour exécuter le serveur d'archive sans OpenSearch, commentez #define POST_TO_OPENSEARCH
dans bxid.cpp
.
Outils Supplémentaires
Pour ceux qui ont accès à un flux de journaux de calculateur, créez un ensemble de données bxid
en utilisant :
./qubic-cli -nodeip (ipaddr) -getlogfromnode (pass0) (pass1) (pass2) (pass3)
./bxid logjson logfileN
Remplacez N
par le numéro de source des entrées de journal de calculateur. Cela crée et maintient des journaux dans logs/(epoch)/logfileN
et son fichier .json
.
Notes Finales
Ajoutez un script pour inclure :
./bxid qchain 0
Cela génère un ensemble de données qchain
, un résumé de toutes les données invariantes dans le vote de quorum et le résumé de tick précédent. Cela aide à garantir des données identiques à travers différentes archives.
Conclusion
La configuration du serveur d'archive avec ses divers scripts garantit que les données de transaction Qubic sont stockées et validées de manière exhaustive. Avec ces outils, vous pouvez maintenir un serveur d'archive robuste capable de gérer le traitement unique des transactions de Qubic.
Pour les dernières mises à jour, rejoignez le Discord de Valis, suivez-nous sur X, et ajoutez notre blog à vos favoris.
Sur cette page
- Configuration et exécution d'un serveur d'archive Qubic
- Introduction
- Configuration et Compilation
- Exécution du Serveur d'Archive
- Actions et Scripts
- 1. Maintenir la Liste des Pairs
- 2. Récupération des Fichiers de Tick
- 3. Balayage des Époques
- 4. Génération de Fichiers JSON et Publication sur OpenSearch
- 5. Validation
- Utilisation d'OpenSearch
- Outils Supplémentaires
- Notes Finales
- Conclusion