Layanan Arsip Qubic bxid
Hash bxid yang unik mewakili transaksi Qubic yang terkonfirmasi, menyederhanakan integrasi ke dalam sistem kripto tradisional, seperti dompet dan bursa, melalui API yang diindeks oleh bxid.
Qsilver ยท 6 Januari 2024.
Pendahuluan
Karakteristik unik Qubic membuatnya menantang untuk dihubungkan langsung dengan infrastruktur kripto yang ada. Proposal ini mendefinisikan hash unik, bxid, yang mewakili bukti transfer nilai yang terkonfirmasi dan final secara instan. API yang diindeks oleh bxid akan menyederhanakan integrasi Qubic ke dalam sistem yang mengharapkan txid terkonfirmasi tradisional.
Mendefinisikan bxid
Bxid (Balance Transfer ID) dapat dihitung secara lokal sebelum dimasukkan ke dalam tick, memungkinkan dompet untuk menampilkan bxid kepada pengguna dan melakukan query ke layanan API. Jika bxid tidak ada setelah tick yang ditentukan, ini menunjukkan kegagalan transaksi.
Untuk transfer QU normal, bxid didefinisikan oleh hash K12 dari epoch + tick + srcpubkey + destpubkey + jumlah, dalam format byte yang cocok dengan entri logfile. Untuk jenis transaksi lain, bxid mengikuti konvensi yang sama dengan meng-hash entri logfile secara langsung, melewati bidang tanggal.
Menangani perubahan saldo SC tanpa transaksi memerlukan bxid unik per perubahan saldo. Dengan menghitung perubahan saldo SC dengan jumlah 0, query untuk bxid tersebut mengembalikan jumlah semua perubahan saldo untuk tujuan tersebut dalam tick.
Menggunakan bxid
1. Menghitung bxid
./bxid calcbxid epoch tick source dest amount
2. Mengambil Data bxid
curl 93.190.139.223:9200/txid/_doc/(txid)
curl 93.190.139.223:9200/bxid/_doc/(bxid)
3. Memvalidasi Informasi bxid
- Jika bxid ada, txid yang cocok dapat ditemukan dalam tick yang disertakan dan divalidasi.
- Jika txid disertakan tetapi bxid tidak ada, validasikan info entitas untuk mendapatkan saldo saat ini. Jumlahkan semua bxid untuk epoch untuk alamat tertentu, kurangi berdasarkan sumber atau tujuan, dan tambahkan perubahan bersih ke file spektrum epoch awal. Jika cocok dengan saldo menggunakan data entitas yang divalidasi secara kriptografis, bxid terkonfirmasi.
Implementasi
1. Menyiapkan Layanan Arsip bxid
Klon dan bangun repositori:
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. Membuat Output JSON
Contoh JSON dari entri logfile:
{ "index": { "_index": "bxid", "_id": "397e947847ada93de80907d88a835419fb532b3ca1fd68b3c95ebab11cd24190" } }
{
"utime": "1707059413",
"epoch": "90",
"tick": "11867469",
"type": "1",
"src": "LZLDOEIBQWIUGGMZGOISLOAACDGAFVAMAYXSSJMLQBHSHWDBPMSDFTGAYRMN",
"dest": "QHQPMJVNGZJGZDSQREFXHHAZFYPBIYDOTFAOTTWGYCWGTIRNGBVMKBGGNDDA",
"amount": "1521139"
}
Gunakan sistem Charmed OpenSearch untuk memproses baris JSON ini:
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. Menyiapkan Loop Pemrosesan Log
Buat loop pemrosesan log untuk memelihara layanan arsip dan API REST:
while true; do
./bxid processlog
done
Kesimpulan
Mengimplementasikan layanan arsip bxid menyederhanakan integrasi Qubic ke dalam layanan kripto yang ada dengan menyediakan bukti transfer nilai yang terkonfirmasi dan final secara instan. Dengan memanfaatkan bxid dan layanan arsip bxid, transaksi Qubic dapat diintegrasikan dengan mulus ke dalam infrastruktur kripto tradisional.
Untuk pembaruan terbaru, bergabunglah dengan Discord Valis, ikuti kami di X, dan tandai blog kami.
โ Sebelumnya
Selanjutnya โ