Logo
  • Home
  • Blog
  • Contatto
Help us build Valis
🇮🇹

Servizio di archiviazione Qubic bxid

image

Servizio di Archiviazione Qubic bxid

Un hash bxid unico rappresenta le transazioni Qubic confermate, semplificando l'integrazione nei sistemi cripto tradizionali, come portafogli ed exchange, tramite un'API indicizzata da bxid.

Qsilver · 6 gennaio 2024.

Introduzione

Le caratteristiche uniche di Qubic rendono difficile l'interfacciamento diretto con l'infrastruttura cripto esistente. Questa proposta definisce un hash unico, bxid, che rappresenta una prova di trasferimento di valore confermata e istantaneamente finale. Un'API indicizzata da bxid semplificherebbe l'integrazione di Qubic nei sistemi che si aspettano un txid tradizionalmente confermato.

Definizione di bxid

Il bxid (ID di Trasferimento di Bilancio) può essere calcolato localmente prima dell'inclusione in un tick, consentendo ai portafogli di visualizzare il bxid agli utenti e interpellare un servizio API. Se il bxid è assente dopo il tick specificato, ciò indica un fallimento della transazione.

Per i trasferimenti QU normali, il bxid è definito dall'hash K12 di epoch + tick + srcpubkey + destpubkey + importo, in un formato byte che corrisponde all'entrata del logfile. Per altri tipi di transazione, il bxid segue la stessa convenzione hashando direttamente l'entrata del logfile, saltando i campi di data.

La gestione dei cambiamenti di bilancio SC senza transazioni richiede un bxid unico per ogni cambiamento di bilancio. Calcolando i cambiamenti di bilancio SC con un importo di 0, la query per quel bxid restituisce la somma di tutti i cambiamenti di bilancio per quella destinazione nel tick.

Usare bxid

1. Calcolare bxid

./bxid calcbxid epoch tick source dest amount

2. Recuperare Dati bxid

curl 93.190.139.223:9200/txid/_doc/(txid)
curl 93.190.139.223:9200/bxid/_doc/(bxid)

3. Validare Informazioni bxid

  • Se il bxid esiste, il txid corrispondente può essere trovato nel tick incluso e validato.
  • Se il txid è incluso ma il bxid è assente, valida le informazioni dell'entità per ottenere il bilancio corrente. Somma tutti i bxid per l'epoch per l'indirizzo specifico, sottrai in base a fonte o destinazione, e aggiungi il cambiamento netto all'inizio del file di spettro dell'epoch. Se corrisponde al bilancio usando dati dell'entità crittograficamente validati, il bxid è confermato.

Implementazione

1. Configurazione del Servizio di Archiviazione bxid

Clona e costruisci il repository:

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. Creare Output JSON

Esempio di JSON da un'entrata del logfile:

Usa il sistema Charmed OpenSearch per elaborare queste righe JSON:

3. Configurazione del Ciclo di Elaborazione Log

Crea un ciclo di elaborazione log per mantenere il servizio di archiviazione e l'API REST:

while true; do
  ./bxid processlog
done

Conclusione

Implementare un servizio di archiviazione bxid semplifica l'integrazione di Qubic nei servizi cripto esistenti fornendo una prova di trasferimento di valore confermata e istantaneamente finale. Sfruttando bxid e il servizio di archiviazione bxid, le transazioni Qubic possono essere incorporate senza problemi nell'infrastruttura cripto tradizionale.

Per gli ultimi aggiornamenti, unisciti al Discord di Valis, seguici su X e aggiungi il nostro blog ai preferiti.

← Precedente

🇮🇹Test bxid/txid API Server

Successivo →

🇮🇹L'arbitro non è un alligatore

In questa pagina

  • Servizio di Archiviazione Qubic bxid
  • Introduzione
  • Definizione di bxid
  • Usare bxid
  • 1. Calcolare bxid
  • 2. Recuperare Dati bxid
  • 3. Validare Informazioni bxid
  • Implementazione
  • 1. Configurazione del Servizio di Archiviazione bxid
  • 2. Creare Output JSON
  • 3. Configurazione del Ciclo di Elaborazione Log
  • Conclusione

Post correlati

Logo

Execution

|

Transparency

XRSSDiscordGitHub
{ "index": { "_index": "bxid", "_id": "397e947847ada93de80907d88a835419fb532b3ca1fd68b3c95ebab11cd24190" } }
{
  "utime": "1707059413",
  "epoch": "90",
  "tick": "11867469",
  "type": "1",
  "src": "LZLDOEIBQWIUGGMZGOISLOAACDGAFVAMAYXSSJMLQBHSHWDBPMSDFTGAYRMN",
  "dest": "QHQPMJVNGZJGZDSQREFXHHAZFYPBIYDOTFAOTTWGYCWGTIRNGBVMKBGGNDDA",
  "amount": "1521139"
}
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"
  }
}