Servicio de Archivo Qubic bxid
Un hash bxid único representa transacciones Qubic confirmadas, simplificando la integración en sistemas cripto tradicionales, como billeteras e intercambios, a través de una API indexada por bxid.
Qsilver · 6 de enero de 2024.
Introducción
Las características únicas de Qubic hacen que sea un desafío interactuar directamente con la infraestructura cripto existente. Esta propuesta define un hash único, bxid, que representa una prueba confirmada e instantáneamente final de transferencia de valor. Una API indexada por bxid simplificaría la integración de Qubic en sistemas que esperan un txid confirmado tradicional.
Definiendo bxid
El bxid (ID de Transferencia de Balance) se puede calcular localmente antes de su inclusión en un tick, permitiendo que las billeteras muestren el bxid a los usuarios y consulten un servicio API. Si el bxid está ausente después del tick especificado, indica un fallo en la transacción.
Para transferencias normales de QU, el bxid se define por el hash K12 de epoch + tick + srcpubkey + destpubkey + amount, en un formato de byte que coincide con la entrada del archivo de registro. Para otros tipos de transacciones, el bxid sigue la misma convención, hashando directamente la entrada del archivo de registro, omitiendo los campos de fecha.
Manejar los cambios de balance SC sin transacciones requiere un bxid único por cambio de balance. Calculando los cambios de balance SC con un monto de 0, la consulta para ese bxid devuelve la suma de todos los cambios de balance para ese destino en el tick.
Usando bxid
1. Calculando bxid
./bxid calcbxid epoch tick source dest amount
2. Obteniendo Datos de bxid
curl 93.190.139.223:9200/txid/_doc/(txid)
curl 93.190.139.223:9200/bxid/_doc/(bxid)
3. Validando Información de bxid
- Si el bxid existe, el txid coincidente se puede encontrar en el tick incluido y validar.
- Si el txid está incluido pero el bxid está ausente, valida la información de la entidad para obtener el balance actual. Suma todos los bxid para la época para la dirección específica, resta basado en fuente o destino, y añade el cambio neto al comienzo del archivo del espectro de la época. Si coincide con el balance usando datos de entidad validados criptográficamente, el bxid está confirmado.
Implementación
1. Configurando el Servicio de Archivo bxid
Clona y construye el repositorio:
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. Creando Salida JSON
Ejemplo de JSON de una entrada de archivo de registro:
{ "index": { "_index": "bxid", "_id": "397e947847ada93de80907d88a835419fb532b3ca1fd68b3c95ebab11cd24190" } }
{
"utime": "1707059413",
"epoch": "90",
"tick": "11867469",
"type": "1",
"src": "LZLDOEIBQWIUGGMZGOISLOAACDGAFVAMAYXSSJMLQBHSHWDBPMSDFTGAYRMN",
"dest": "QHQPMJVNGZJGZDSQREFXHHAZFYPBIYDOTFAOTTWGYCWGTIRNGBVMKBGGNDDA",
"amount": "1521139"
}
Usa el sistema Charmed OpenSearch para procesar estas líneas 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. Configurando el Bucle de Procesamiento de Registros
Crea un bucle de procesamiento de registros para mantener el servicio de archivo y la API REST:
while true; do
./bxid processlog
done
Conclusión
Implementar un servicio de archivo bxid simplifica la integración de Qubic en servicios cripto existentes al proporcionar una prueba de transferencia de valor confirmada e instantáneamente final. Al aprovechar bxid y el servicio de archivo bxid, las transacciones de Qubic se pueden incorporar sin problemas en la infraestructura cripto tradicional.
Para obtener las últimas actualizaciones, únete al Discord de Valis, síguenos en X y guarda nuestro blog en tus favoritos.
← Anterior
Siguiente →
En esta página
- Servicio de Archivo Qubic bxid
- Introducción
- Definiendo bxid
- Usando bxid
- 1. Calculando bxid
- 2. Obteniendo Datos de bxid
- 3. Validando Información de bxid
- Implementación
- 1. Configurando el Servicio de Archivo bxid
- 2. Creando Salida JSON
- 3. Configurando el Bucle de Procesamiento de Registros
- Conclusión
Artículos relacionados