Qubic bxid Archiefdienst
Een unieke bxid-hash vertegenwoordigt bevestigde Qubic-transacties, waardoor integratie in traditionele crypto-systemen, zoals wallets en beurzen, wordt vereenvoudigd via een API geïndexeerd door bxid.
Qsilver · 6 januari 2024.
Inleiding
De unieke kenmerken van Qubic maken het uitdagend om direct te koppelen aan bestaande crypto-infrastructuur. Dit voorstel definieert een unieke hash, bxid, die een bevestigd en direct definitief bewijs van waardeoverdracht vertegenwoordigt. Een API geïndexeerd door bxid zou de integratie van Qubic in systemen die traditionele bevestigde txid verwachten, vereenvoudigen.
Definiëren van bxid
De bxid (Balance Transfer ID) kan lokaal worden berekend voordat deze in een tick wordt opgenomen, waardoor wallets de bxid aan gebruikers kunnen tonen en een API-service kunnen opvragen. Als de bxid na de opgegeven tick afwezig is, duidt dit op een transactie mislukking.
Voor normale QU-overdrachten wordt de bxid gedefinieerd door de K12-hash van epoch + tick + srcpubkey + destpubkey + bedrag, in een byteformaat dat overeenkomt met het logboekitem. Voor andere transactietypen volgt de bxid dezelfde conventie door het logboekitem direct te hashen, waarbij datumvelden worden overgeslagen.
Het afhandelen van transactieloze SC-saldoveranderingen vereist een unieke bxid per saldoverandering. Door SC-saldoveranderingen te berekenen met een bedrag van 0, geeft de zoekopdracht naar die bxid de som van alle saldoveranderingen voor die bestemming in de tick terug.
Gebruik van bxid
1. Berekening van bxid
./bxid calcbxid epoch tick source dest amount
2. Ophalen van bxid-gegevens
curl 93.190.139.223:9200/txid/_doc/(txid)
curl 93.190.139.223:9200/bxid/_doc/(bxid)
3. Valideren van bxid-informatie
- Als de bxid bestaat, kan de overeenkomende txid worden gevonden in de opgenomen tick en gevalideerd.
- Als de txid is opgenomen maar de bxid afwezig is, valideer dan de entiteitsinformatie om de huidige balans te krijgen. Tel alle bxid voor het epoch op voor het specifieke adres, trek af op basis van bron of bestemming, en voeg de netto verandering toe aan het begin van het epoch-spectrum bestand. Als het overeenkomt met de balans met cryptografisch gevalideerde entiteitsgegevens, is de bxid bevestigd.
Implementatie
1. Opzetten van de bxid Archiefdienst
Kloon en bouw de 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. Creëren van JSON-uitvoer
Voorbeeld van JSON uit een logboekitem:
{ "index": { "_index": "bxid", "_id": "397e947847ada93de80907d88a835419fb532b3ca1fd68b3c95ebab11cd24190" } }
{
"utime": "1707059413",
"epoch": "90",
"tick": "11867469",
"type": "1",
"src": "LZLDOEIBQWIUGGMZGOISLOAACDGAFVAMAYXSSJMLQBHSHWDBPMSDFTGAYRMN",
"dest": "QHQPMJVNGZJGZDSQREFXHHAZFYPBIYDOTFAOTTWGYCWGTIRNGBVMKBGGNDDA",
"amount": "1521139"
}
Gebruik het Charmed OpenSearch-systeem om deze JSON-regels te verwerken:
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. Opzetten van Logverwerkingslus
Maak een logverwerkingslus om de archiefdienst en REST API te onderhouden:
while true; do
./bxid processlog
done
Conclusie
Het implementeren van een bxid-archiefdienst vereenvoudigt de integratie van Qubic in bestaande crypto-services door een bevestigd en direct definitief bewijs van waardeoverdracht te bieden. Door gebruik te maken van bxid en de bxid-archiefdienst, kunnen Qubic-transacties naadloos worden opgenomen in traditionele crypto-infrastructuur.
Voor de nieuwste updates, word lid van de Valis Discord, volg ons op X, en voeg onze blog toe aan je favorieten.
← Vorige
Volgende →
Op deze pagina
- Qubic bxid Archiefdienst
- Inleiding
- Definiëren van bxid
- Gebruik van bxid
- 1. Berekening van bxid
- 2. Ophalen van bxid-gegevens
- 3. Valideren van bxid-informatie
- Implementatie
- 1. Opzetten van de bxid Archiefdienst
- 2. Creëren van JSON-uitvoer
- 3. Opzetten van Logverwerkingslus
- Conclusie
Gerelateerde berichten