Qubic bxid Archivdienst
Ein einzigartiger bxid-Hash repräsentiert bestätigte Qubic-Transaktionen und vereinfacht die Integration in traditionelle Kryptosysteme wie Wallets und Börsen über eine API, die von bxid indexiert wird.
Qsilver · 6. Januar 2024.
Einführung
Die einzigartigen Merkmale von Qubic machen es schwierig, direkt mit bestehender Kryptoinfrastruktur zu interagieren. Dieser Vorschlag definiert einen einzigartigen Hash, bxid, der einen bestätigten und sofort endgültigen Nachweis des Werttransfers darstellt. Eine API, die von bxid indexiert wird, würde die Integration von Qubic in Systeme vereinfachen, die traditionelle bestätigte txid erwarten.
Definition von bxid
Der bxid (Balance Transfer ID) kann lokal berechnet werden, bevor er in einen Tick aufgenommen wird, sodass Wallets den bxid den Nutzern anzeigen und einen API-Dienst abfragen können. Wenn der bxid nach dem angegebenen Tick fehlt, deutet dies auf einen Transaktionsfehler hin.
Für normale QU-Überweisungen wird der bxid durch den K12-Hash von Epoch + Tick + srcpubkey + destpubkey + Betrag in einem Byte-Format definiert, das dem Logdateieintrag entspricht. Für andere Transaktionstypen folgt der bxid demselben Schema, indem der Logdateieintrag direkt gehasht wird, wobei Datumsfelder übersprungen werden.
Das Handling von transaktionslosen SC-Saldoänderungen erfordert einen einzigartigen bxid pro Saldoänderung. Durch die Berechnung von SC-Saldoänderungen mit einem Betrag von 0 liefert die Abfrage für diesen bxid die Summe aller Saldoänderungen für dieses Ziel im Tick.
Verwendung von bxid
1. Berechnung von bxid
./bxid calcbxid epoch tick source dest amount
2. Abrufen von bxid-Daten
curl 93.190.139.223:9200/txid/_doc/(txid)
curl 93.190.139.223:9200/bxid/_doc/(bxid)
3. Validierung von bxid-Informationen
- Wenn der bxid existiert, kann die passende txid im enthaltenen Tick gefunden und validiert werden.
- Wenn die txid enthalten ist, aber der bxid fehlt, validieren Sie die Entitätsinformationen, um den aktuellen Saldo zu erhalten. Summieren Sie alle bxid für die Epoche für die spezifische Adresse, subtrahieren Sie basierend auf Quelle oder Ziel, und addieren Sie die Nettoänderung zum Anfang der Epoche-Spektrumsdatei. Wenn es mit dem Saldo unter Verwendung kryptografisch validierter Entitätsdaten übereinstimmt, wird der bxid bestätigt.
Implementierung
1. Einrichten des bxid-Archivdienstes
Klonen und bauen Sie das 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. Erstellen von JSON-Ausgaben
Beispiel-JSON aus einem Logdateieintrag:
{ "index": { "_index": "bxid", "_id": "397e947847ada93de80907d88a835419fb532b3ca1fd68b3c95ebab11cd24190" } }
{
"utime": "1707059413",
"epoch": "90",
"tick": "11867469",
"type": "1",
"src": "LZLDOEIBQWIUGGMZGOISLOAACDGAFVAMAYXSSJMLQBHSHWDBPMSDFTGAYRMN",
"dest": "QHQPMJVNGZJGZDSQREFXHHAZFYPBIYDOTFAOTTWGYCWGTIRNGBVMKBGGNDDA",
"amount": "1521139"
}
Verwenden Sie das Charmed OpenSearch-System, um diese JSON-Zeilen zu verarbeiten:
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. Einrichtung einer Logverarbeitungsschleife
Erstellen Sie eine Logverarbeitungsschleife, um den Archivdienst und die REST-API aufrechtzuerhalten:
while true; do
./bxid processlog
done
Schlussfolgerung
Die Implementierung eines bxid-Archivdienstes vereinfacht die Integration von Qubic in bestehende Krypto-Dienste, indem ein bestätigter und sofort endgültiger Nachweis des Werttransfers bereitgestellt wird. Durch die Nutzung von bxid und dem bxid-Archivdienst können Qubic-Transaktionen nahtlos in traditionelle Kryptoinfrastruktur integriert werden.
Für die neuesten Updates, treten Sie dem Valis Discord bei, folgen Sie uns auf X und setzen Sie ein Lesezeichen für unseren Blog.
← Vorherige
Auf dieser Seite
- Qubic bxid Archivdienst
- Einführung
- Definition von bxid
- Verwendung von bxid
- 1. Berechnung von bxid
- 2. Abrufen von bxid-Daten
- 3. Validierung von bxid-Informationen
- Implementierung
- 1. Einrichten des bxid-Archivdienstes
- 2. Erstellen von JSON-Ausgaben
- 3. Einrichtung einer Logverarbeitungsschleife
- Schlussfolgerung
Verwandte Beiträge