Служба архивирования Qubic bxid
Уникальный хэш bxid представляет подтвержденные транзакции Qubic, что упрощает интеграцию в традиционные криптосистемы, такие как кошельки и биржи, через API, индексируемый по bxid.
Qsilver · 6 января 2024 г.
Введение
Уникальные характеристики Qubic делают его сложным для прямого взаимодействия с существующей криптоинфраструктурой. Это предложение определяет уникальный хэш, bxid, представляющий подтвержденное и мгновенно окончательное доказательство передачи стоимости. API, индексируемый по bxid, упростит интеграцию Qubic в системы, ожидающие традиционного подтвержденного txid.
Определение bxid
Bxid (идентификатор передачи баланса) может быть рассчитан локально до включения в тик, позволяя кошелькам отображать bxid пользователям и запрашивать сервис API. Если bxid отсутствует после указанного тика, это указывает на сбой транзакции.
Для обычных переводов QU bxid определяется хэшем K12 из epoch + tick + srcpubkey + destpubkey + amount, в байтовом формате, соответствующем записи журнала. Для других типов транзакций bxid следует той же конвенции, хэшируя запись журнала напрямую, пропуская поля даты.
Обработка изменений баланса SC без транзакций требует уникального bxid для каждого изменения баланса. Рассчитывая изменения баланса SC с количеством 0, запрос на этот bxid возвращает сумму всех изменений баланса для этой цели в тике.
Использование bxid
1. Расчет bxid
./bxid calcbxid epoch tick source dest amount
2. Получение данных bxid
curl 93.190.139.223:9200/txid/_doc/(txid)
curl 93.190.139.223:9200/bxid/_doc/(bxid)
3. Проверка информации bxid
- Если bxid существует, соответствующий txid можно найти в включенном тике и подтвердить.
- Если txid включен, но bxid отсутствует, подтвердите информацию о сущности, чтобы получить текущий баланс. Сложите все bxid для эпохи для конкретного адреса, вычтите на основе источника или назначения и добавьте чистое изменение в начало файла спектра эпохи. Если он совпадает с балансом, используя криптографически подтвержденные данные сущности, bxid подтвержден.
Реализация
1. Настройка службы архивирования bxid
Клонируйте и соберите репозиторий:
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
2. Создание JSON-вывода
Пример JSON из записи журнала:
{ "index": { "_index": "bxid", "_id": "397e947847ada93de80907d88a835419fb532b3ca1fd68b3c95ebab11cd24190" } }
{
"utime": "1707059413",
"epoch": "90",
"tick": "11867469",
"type": "1",
"src": "LZLDOEIBQWIUGGMZGOISLOAACDGAFVAMAYXSSJMLQBHSHWDBPMSDFTGAYRMN",
"dest": "QHQPMJVNGZJGZDSQREFXHHAZFYPBIYDOTFAOTTWGYCWGTIRNGBVMKBGGNDDA",
"amount": "1521139"
}
Используйте систему Charmed OpenSearch для обработки этих строк JSON:
curl --cacert demo-ca.pem -XGET https://<username>:<password>@<ipaddr>:9200/bxid/_doc/397e947847ada93de80907d88a835419fb532b3ca1fd68b3c95ebab11cd24190
{
"_index": "bxid",
"_id": "397e947847ada93de80907d88a835419fb532b3ca1fd68b3c95ebab11cd24190",
"_version": 2,
"_seq_no": 32754,
"_primary_term": 1,
"found": true,
"_source": {
"utime": "1707059413",
"epoch": "90",
"tick": "11867469",
"type": "1",
"src": "LZLDOEIBQWIUGGMZGOISLOAACDGAFVAMAYXSSJMLQBHSHWDBPMSDFTGAYRMN",
"dest": "QHQPMJVNGZJGZDSQREFXHHAZFYPBIYDOTFAOTTWGYCWGTIRNGBVMKBGGNDDA",
"amount": "1521139"
}
}
3. Настройка цикла обработки логов
Создайте цикл обработки логов для поддержания службы архивирования и REST API:
while true; do
./bxid processlog
done
Заключение
Реализация службы архивирования bxid упрощает интеграцию Qubic в существующие криптовалютные сервисы, предоставляя подтвержденное и мгновенно окончательное доказательство передачи стоимости. Используя bxid и службу архивирования bxid, транзакции Qubic могут быть беспрепятственно интегрированы в традиционную криптоинфраструктуру.
Чтобы быть в курсе последних обновлений, присоединяйтесь к Discord-серверу Valis, подпишитесь на нас в X и добавьте наш блог в закладки.
← Предыдущий
Следующий →