Configurando e Executando um Servidor de Arquivo Qubic
Configure um servidor de arquivos para armazenar e validar dados de transações Qubic usando scripts para manutenção de pares, arquivos de tick e épocas.
Qsilver · 22 de janeiro de 2024.
Introdução
Qubic não é sua criptomoeda comum! Sem um blockchain, inicialmente não é claro como as transações são validadas, e a poda semanal dos dados de transações apresenta desafios para determinar transações passadas. O servidor de arquivos resolve esses problemas armazenando automaticamente todos os dados relevantes de cada época, lidando com mudanças de época sem recompilação (a menos que o protocolo de rede mude).
Configuração e Compilação
Supondo um servidor Linux, siga estes passos para configurar o servidor de arquivos:
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
Seu sistema precisará de g++
para compilar código C++, cmake
e e2fsprogs
. Estes geralmente vêm padrão e podem não exigir instalação via apt-get
.
Executando o Servidor de Arquivo
Para executar o servidor de arquivos continuamente, use scripts bash de loop infinito:
while true; do ACTION; done
Execute cada script em uma janela separada ou de forma assíncrona com &
. Se houver risco de desconexão, use:
nohup ./script > script.out &
Ações e Scripts
1. Mantendo a Lista de Pares
Crie um script de loop com a ação:
./bxid peersloop
Este script atualizará o diretório de pares com arquivos nomeados após endereços IP dos pares, essenciais para consultas para encontrar os pares da época atual e anterior.
2. Buscando Arquivos de Tick
Crie um script de loop com a ação:
./bxid maketickfiles
Este script salva arquivos de quórum e dados de tick em seus respectivos diretórios. Funciona em duas fases: solicitações paralelas para obter arquivos de tick e um modo sequencial com tentativas repetidas. Executar este script em loop garante que mais arquivos sejam obtidos a cada iteração.
3. Escaneando Épocas
Crie um script de loop com a ação:
./bxid scanepoch 0
O valor de época de 0 significa que o script determinará a época atual e gerará arquivos .json
para o arquivo. Certifique-se de que o arquivo computors
para a época especificada esteja disponível.
4. Gerando Arquivos JSON e Enviando para OpenSearch
Crie um script de loop com a ação:
./bxid jsonfiles
Este script gera arquivos .json
e os envia para OpenSearch, realizando validações básicas e excluindo arquivos inválidos.
5. Validação
Crie um script de loop com a ação:
./bxid validate
Este script valida votos de quórum, garantindo 451+ votos com hashes correspondentes e verificando o hash dos dados de tick. Ele protege contra gravação arquivos validados para evitar revalidação.
Usando OpenSearch
Instale o OpenSearch seguindo as instruções em opensearch.org. Certifique-se de que está disponível em localhost:9200
. Modifique as funções opensearch()
e opensearchpost()
em bxidutils.cpp
para usar credenciais apropriadas se logins e certificados forem adicionados. Para executar o servidor de arquivos sem OpenSearch, comente #define POST_TO_OPENSEARCH
em bxid.cpp
.
Ferramentas Adicionais
Para aqueles com acesso a um feed de log do computor, crie um conjunto de dados bxid
usando:
./qubic-cli -nodeip (ipaddr) -getlogfromnode (pass0) (pass1) (pass2) (pass3)
./bxid logjson logfileN
Substitua N
pelo número de origem das entradas de log do computor. Isso cria e mantém logs em logs/(epoch)/logfileN
e seu arquivo .json
.
Notas Finais
Adicione um script para incluir:
./bxid qchain 0
Isso gera um conjunto de dados qchain
, um resumo de todos os dados invariantes no voto do quórum e no resumo do tick anterior. Isso ajuda a garantir dados idênticos em diferentes arquivos.
Conclusão
A configuração do servidor de arquivos com seus vários scripts garante que os dados de transações Qubic sejam armazenados e validados de forma abrangente. Com essas ferramentas, você pode manter um servidor de arquivos robusto capaz de lidar com o processamento de transações único do Qubic.
Para obter as atualizações mais recentes, junte-se ao Discord do Valis, siga-nos no X e adicione nosso blog aos favoritos.
Nesta página
- Configurando e Executando um Servidor de Arquivo Qubic
- Introdução
- Configuração e Compilação
- Executando o Servidor de Arquivo
- Ações e Scripts
- 1. Mantendo a Lista de Pares
- 2. Buscando Arquivos de Tick
- 3. Escaneando Épocas
- 4. Gerando Arquivos JSON e Enviando para OpenSearch
- 5. Validação
- Usando OpenSearch
- Ferramentas Adicionais
- Notas Finais
- Conclusão