Настройка и управление сервером Qubic Archive
Настройте архивный сервер для хранения и проверки данных транзакций Qubic с помощью скриптов для обслуживания пиров, файлов тактов и эпох.
Qsilver · 22 января 2024 г.
Введение
Qubic — это не ваша обычная криптовалюта! Без блокчейна изначально неясно, как валидируются транзакции, и еженедельная очистка данных транзакций представляет сложности в определении прошлых транзакций. Архивный сервер решает эти проблемы, автоматически сохраняя все необходимые данные из каждой эпохи, обрабатывая изменения эпох без перекомпиляции (если не изменяется сетевой протокол).
Настройка и компиляция
Предполагая использование сервера Linux, выполните следующие шаги для настройки архивного сервера:
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
Ваша система должна иметь g++
для компиляции кода C++, cmake
и e2fsprogs
. Эти компоненты обычно стандартны и могут не требовать установки через apt-get
.
Запуск архивного сервера
Для непрерывного запуска архивного сервера используйте bash-скрипты с бесконечным циклом:
while true; do ACTION; done
Запустите каждый скрипт в отдельном окне или асинхронно с помощью &
. Если есть риск отключения, используйте:
nohup ./script > script.out &
Действия и скрипты
1. Обслуживание списка пиров
Создайте скрипт с циклом и действием:
./bxid peersloop
Этот скрипт обновит каталог пиров файлами, названными по IP-адресам пиров, что необходимо для запросов текущих и предыдущих эпох.
2. Получение файлов тактов
Создайте скрипт с циклом и действием:
./bxid maketickfiles
Этот скрипт сохраняет файлы кворума и данные тактов в соответствующих каталогах. Он работает в двух фазах: параллельные запросы для получения файлов тактов и последовательный режим с повторными попытками. Запуск этого скрипта в цикле обеспечивает получение большего количества файлов с каждой итерацией.
3. Сканирование эпох
Создайте скрипт с циклом и действием:
./bxid scanepoch 0
Значение эпохи 0 означает, что скрипт определит текущую эпоху и сгенерирует .json
файлы для архива. Убедитесь, что файл computors
для указанной эпохи доступен.
4. Генерация JSON файлов и публикация в OpenSearch
Создайте скрипт с циклом и действием:
./bxid jsonfiles
Этот скрипт генерирует .json
файлы и публикует их в OpenSearch, выполняя основные проверки и удаляя недействительные файлы.
5. Проверка
Создайте скрипт с циклом и действием:
./bxid validate
Этот скрипт проверяет кворумные голосования, гарантируя наличие 451+ голосов с совпадающими хэшами и проверяя хэш данных тактов. Он защищает от записи проверенные файлы, чтобы предотвратить повторную проверку.
Использование OpenSearch
Установите OpenSearch, следуя инструкциям на opensearch.org. Убедитесь, что он доступен на localhost:9200
. Измените функции opensearch()
и opensearchpost()
в bxidutils.cpp
для использования соответствующих учетных данных, если добавлены логины и сертификаты. Чтобы запустить архивный сервер без OpenSearch, закомментируйте #define POST_TO_OPENSEARCH
в bxid.cpp
.
Дополнительные инструменты
Для тех, у кого есть доступ к логу компьютора, создайте набор данных bxid
с помощью:
./qubic-cli -nodeip (ipaddr) -getlogfromnode (pass0) (pass1) (pass2) (pass3)
./bxid logjson logfileN
Замените N
на номер источника записей лога компьютора. Это создает и поддерживает логи в logs/(epoch)/logfileN
и его .json
файл.
Заключительные заметки
Добавьте скрипт с включением:
./bxid qchain 0
Это создает набор данных qchain
, дайджест всех инвариантных данных в кворумном голосовании и предыдущий дайджест тактов. Это помогает обеспечить идентичность данных в разных архивах.
Заключение
Настройка архивного сервера с его различными скриптами гарантирует, что данные транзакций Qubic будут надежно сохранены и проверены. С этими инструментами вы можете поддерживать стабильный архивный сервер, способный обрабатывать уникальную обработку транзакций Qubic.
Чтобы быть в курсе последних обновлений, присоединяйтесь к Discord-серверу Valis, подпишитесь на нас в X и добавьте наш блог в закладки.
Следующий →
На этой странице
- Настройка и управление сервером Qubic Archive
- Введение
- Настройка и компиляция
- Запуск архивного сервера
- Действия и скрипты
- 1. Обслуживание списка пиров
- 2. Получение файлов тактов
- 3. Сканирование эпох
- 4. Генерация JSON файлов и публикация в OpenSearch
- 5. Проверка
- Использование OpenSearch
- Дополнительные инструменты
- Заключительные заметки
- Заключение