Service d'archivage Qubic bxid
Un hash bxid unique représente les transactions Qubic confirmées, simplifiant l'intégration dans les systèmes crypto traditionnels, tels que les portefeuilles et les échanges, via une API indexée par bxid.
Qsilver · 6 janvier 2024.
Introduction
Les caractéristiques uniques de Qubic rendent difficile son interface directe avec l'infrastructure crypto existante. Cette proposition définit un hash unique, le bxid, représentant une preuve de transfert de valeur confirmée et instantanément finale. Une API indexée par bxid simplifierait l'intégration de Qubic dans les systèmes qui attendent un txid confirmé traditionnel.
Définition du bxid
Le bxid (ID de transfert de solde) peut être calculé localement avant l'inclusion dans un tick, permettant aux portefeuilles d'afficher le bxid aux utilisateurs et de requêter un service API. Si le bxid est absent après le tick spécifié, cela indique un échec de transaction.
Pour les transferts QU normaux, le bxid est défini par le hash K12 de epoch + tick + srcpubkey + destpubkey + montant, dans un format de byte correspondant à l'entrée du journal de log. Pour d'autres types de transactions, le bxid suit la même convention en hashant directement l'entrée du journal de log, en sautant les champs de date.
La gestion des changements de solde SC sans transaction nécessite un bxid unique par changement de solde. En calculant les changements de solde SC avec un montant de 0, la requête pour ce bxid renvoie la somme de tous les changements de solde pour cette destination dans le tick.
Utilisation du bxid
1. Calculer le bxid
./bxid calcbxid epoch tick source dest amount
2. Récupérer les données de bxid
curl 93.190.139.223:9200/txid/_doc/(txid)
curl 93.190.139.223:9200/bxid/_doc/(bxid)
3. Valider les informations bxid
- Si le bxid existe, le txid correspondant peut être trouvé dans le tick inclus et validé.
- Si le txid est inclus mais que le bxid est absent, valider les informations de l'entité pour obtenir le solde actuel. Additionner tous les bxid pour l'epoch pour l'adresse spécifique, soustraire selon la source ou la destination, et ajouter le changement net au début du fichier spectre de l'epoch. Si cela correspond au solde en utilisant les données d'entité validées cryptographiquement, le bxid est confirmé.
Mise en œuvre
1. Configuration du service d'archivage bxid
Cloner et construire le dépôt :
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. Création de sortie JSON
Exemple de JSON à partir d'une entrée de journal de log :
{ "index": { "_index": "bxid", "_id": "397e947847ada93de80907d88a835419fb532b3ca1fd68b3c95ebab11cd24190" } }
{
"utime": "1707059413",
"epoch": "90",
"tick": "11867469",
"type": "1",
"src": "LZLDOEIBQWIUGGMZGOISLOAACDGAFVAMAYXSSJMLQBHSHWDBPMSDFTGAYRMN",
"dest": "QHQPMJVNGZJGZDSQREFXHHAZFYPBIYDOTFAOTTWGYCWGTIRNGBVMKBGGNDDA",
"amount": "1521139"
}
Utiliser le système OpenSearch Charmed pour traiter ces lignes 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. Configuration de la boucle de traitement des journaux
Créer une boucle de traitement des journaux pour maintenir le service d'archivage et l'API REST :
while true; do
./bxid processlog
done
Conclusion
La mise en œuvre d'un service d'archivage bxid simplifie l'intégration de Qubic dans les services crypto existants en fournissant une preuve de transfert de valeur confirmée et instantanément finale. En exploitant bxid et le service d'archivage bxid, les transactions Qubic peuvent être intégrées de manière transparente dans l'infrastructure crypto traditionnelle.
Pour les dernières mises à jour, rejoignez le Discord de Valis, suivez-nous sur X, et ajoutez notre blog à vos favoris.
← Précédent
Suivant →
Sur cette page
- Service d'archivage Qubic bxid
- Introduction
- Définition du bxid
- Utilisation du bxid
- 1. Calculer le bxid
- 2. Récupérer les données de bxid
- 3. Valider les informations bxid
- Mise en œuvre
- 1. Configuration du service d'archivage bxid
- 2. Création de sortie JSON
- 3. Configuration de la boucle de traitement des journaux
- Conclusion
Articles connexes