Qubic bxid arkivtjeneste
En unik bxid-hash representerer bekreftede Qubic-transaksjoner, noe som forenkler integrering i tradisjonelle kryptosystemer, som lommebøker og børser, via et API indeksert av bxid.
Qsilver - 6. januar 2024.
Introduksjon
Qubics unike egenskaper gjør det utfordrende å integrere direkte med eksisterende kryptoinfrastruktur. Dette forslaget definerer en unik hash, bxid, som representerer et bekreftet og umiddelbart endelig bevis på verdioverføring. Et API indeksert av bxid vil gjøre det enklere å integrere Qubic i systemer som forventer tradisjonelle bekreftede txid.
Definisjon av bxid
bxid (Balance Transfer ID) kan beregnes lokalt før den inkluderes i en tick, slik at lommebøker kan vise bxid til brukere og spørre en API-tjeneste. Hvis bxid ikke finnes etter det angitte krysset, indikerer det en mislykket transaksjon.
For normale QU-overføringer er bxid definert av K12-hash av epoch + tick + srcpubkey + destpubkey + amount, i et byteformat som samsvarer med loggfiloppføringen. For andre transaksjonstyper følger bxid samme konvensjon ved å hashe loggfiloppføringen direkte, og hoppe over datofelt.
Håndtering av transaksjonsløse SC-saldoendringer krever en unik bxid per saldoendring. Ved å beregne SC-saldoendringer med et beløp på 0, returnerer spørringen for den bxid-en summen av alle saldoendringer for den destinasjonen i krysset.
Bruke bxid
1. Beregning av bxid
./bxid calcbxid epoch tick source dest amount
2. Hente bxid-data
curl 93.190.139.223:9200/txid/_doc/(txid)
curl 93.190.139.223:9200/bxid/_doc/(bxid)
3. Validering av bxid-informasjon
- Hvis bxid finnes, kan matchende txid finnes i det inkluderte krysset og valideres.
- Hvis txid er inkludert, men bxid mangler, må du validere enhetsinformasjonen for å få den gjeldende saldoen. Summer alle bxid for epoken for den spesifikke adressen, trekk fra basert på kilde eller destinasjon, og legg nettoendringen til begynnelsen av epokens spektrumfil. Hvis det samsvarer med saldoen ved hjelp av kryptografisk validerte enhetsdata, bekreftes bxid.
Implementering
1. Sette opp bxid-arkiveringstjenesten
Klon og bygg opp repositoriet:
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. Opprette JSON-utdata
Eksempel på JSON fra en loggfiloppføring:
{ "index": { "_index": "bxid", "_id": "397e947847ada93de80907d88a835419fb532b3ca1fd68b3c95ebab11cd24190" } }
{
"utime": "1707059413",
"epoch": "90",
"tick": "11867469",
"type": "1",
"src": "LZLDOEIBQWIUGGMZGOISLOAACDGAFVAMAYXSSJMLQBHSHWDBPMSDFTGAYRMN",
"dest": "QHQPMJVNGZJGZDSQREFXHHAZFYPBIYDOTFAOTTWGYCWGTIRNGBVMKBGGNDDA",
"amount": "1521139"
}
Bruk Charmed OpenSearch-systemet til å behandle disse JSON-linjene:
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. Sette opp en sløyfe for loggbehandling
Opprett en loggbehandlingssløyfe for å vedlikeholde arkivtjenesten og REST API:
while true; do
./bxid processlog
done
Konklusjon
Implementering av en bxid-arkiveringstjeneste forenkler integreringen av Qubic i eksisterende kryptotjenester ved å gi et bekreftet og umiddelbart endelig bevis på verdioverføring. Ved å utnytte bxid og bxid-arkiveringstjenesten kan Qubic-transaksjoner sømløst innlemmes i tradisjonell krypto-infrastruktur.
For de siste oppdateringene, bli med i Valis Discord, følg oss på X, og bokmerk bloggen vår.
← Forrige
Neste →