Configuración y Ejecución de un Servidor de Archivo Qubic
Configure un servidor de archivo para almacenar y validar datos de transacciones de Qubic utilizando scripts para el mantenimiento de pares, archivos de ticks y épocas.
Qsilver · 22 de enero de 2024.
Introducción
¡Qubic no es tu criptomoneda habitual! Sin una cadena de bloques, inicialmente no está claro cómo se validan las transacciones, y la poda semanal de datos de transacciones presenta desafíos para determinar transacciones pasadas. El servidor de archivo aborda estos problemas almacenando automáticamente todos los datos relevantes de cada época, manejando los cambios de época sin recompilación (a menos que cambie el protocolo de la red).
Configuración y Compilación
Asumiendo un servidor Linux, siga estos pasos para configurar el servidor de archivo:
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
Su sistema necesitará g++
para compilar código C++, cmake
y e2fsprogs
. Estos generalmente vienen de serie y puede que no requieran instalación a través de apt-get
.
Ejecución del Servidor de Archivo
Para ejecutar el servidor de archivo de forma continua, use scripts bash de bucle infinito:
while true; do ACTION; done
Ejecute cada script en una ventana separada o de forma asíncrona con &
. Si existe el riesgo de desconexión, use:
nohup ./script > script.out &
Acciones y Scripts
1. Mantenimiento de la Lista de Pares
Cree un script de bucle con la acción:
./bxid peersloop
Este script actualizará el directorio de pares con archivos nombrados según las direcciones IP de los pares, esencial para consultas para encontrar los pares de la época actual y anterior.
2. Obtención de Archivos de Tick
Cree un script de bucle con la acción:
./bxid maketickfiles
Este script guarda archivos de quórum y datos de ticks en sus respectivos directorios. Funciona en dos fases: solicitudes paralelas para obtener archivos de ticks y un modo secuencial con reintentos. Ejecutar este script en un bucle asegura que se obtengan más archivos con cada iteración.
3. Escaneo de Épocas
Cree un script de bucle con la acción:
./bxid scanepoch 0
El valor de época de 0 significa que el script determinará la época actual y generará archivos .json
para el archivo. Asegúrese de que el archivo computors
para la época especificada esté disponible.
4. Generación de Archivos JSON y Publicación en OpenSearch
Cree un script de bucle con la acción:
./bxid jsonfiles
Este script genera archivos .json
y los publica en OpenSearch, realizando validaciones básicas y eliminando archivos inválidos.
5. Validación
Cree un script de bucle con la acción:
./bxid validate
Este script valida votos de quórum, asegurando 451+ votos con hashes coincidentes y verificando el hash de los datos de ticks. Protege contra escritura los archivos validados para evitar revalidaciones.
Uso de OpenSearch
Instale OpenSearch siguiendo las instrucciones en opensearch.org. Asegúrese de que esté disponible en localhost:9200
. Modifique las funciones opensearch()
y opensearchpost()
en bxidutils.cpp
para usar las credenciales apropiadas si se agregan inicios de sesión y certificados. Para ejecutar el servidor de archivo sin OpenSearch, comente #define POST_TO_OPENSEARCH
en bxid.cpp
.
Herramientas Adicionales
Para aquellos con acceso a un feed de registro de computadoras, cree un conjunto de datos bxid
usando:
./qubic-cli -nodeip (ipaddr) -getlogfromnode (pass0) (pass1) (pass2) (pass3)
./bxid logjson logfileN
Reemplace N
con el número de fuente de las entradas de registro de computadoras. Esto crea y mantiene registros en logs/(epoch)/logfileN
y su archivo .json
.
Notas Finales
Agregue un script para incluir:
./bxid qchain 0
Esto genera un conjunto de datos qchain
, un resumen de todos los datos invariantes en el voto del quórum y el resumen del tick anterior. Esto ayuda a asegurar datos idénticos en diferentes archivos.
Conclusión
La configuración del servidor de archivo con sus diversos scripts asegura que los datos de transacciones de Qubic se almacenen y validen de manera integral. Con estas herramientas, puede mantener un servidor de archivo robusto capaz de manejar el procesamiento único de transacciones de Qubic.
Para obtener las últimas actualizaciones, únete al Discord de Valis, síguenos en X y guarda nuestro blog en tus favoritos.
En esta página
- Configuración y Ejecución de un Servidor de Archivo Qubic
- Introducción
- Configuración y Compilación
- Ejecución del Servidor de Archivo
- Acciones y Scripts
- 1. Mantenimiento de la Lista de Pares
- 2. Obtención de Archivos de Tick
- 3. Escaneo de Épocas
- 4. Generación de Archivos JSON y Publicación en OpenSearch
- 5. Validación
- Uso de OpenSearch
- Herramientas Adicionales
- Notas Finales
- Conclusión