Qubic bxid 存檔服務
獨特的 bxid 雜湊表示已確認的 Qubic 交易,透過以 bxid 為索引的 API 簡化整合到傳統加密系統(如錢包和交易所)。
Qsilver · 2024 年 1 月 6 日。
介紹
Qubic 的獨特特性使其難以直接與現有的加密基礎設施對接。本提案定義了一個獨特的雜湊,bxid,代表已確認並立即最終的價值轉移證明。以 bxid 為索引的 API 會簡化將 Qubic 整合到需要傳統確認的 txid 的系統中。
定義 bxid
bxid(餘額轉移 ID)可以在納入一個 tick 之前本地計算,允許錢包向用戶顯示 bxid 並查詢 API 服務。如果在指定的 tick 之後 bxid 缺失,則表示交易失敗。
對於普通的 QU 轉移,bxid 由 epoch + tick + srcpubkey + destpubkey + amount 的 K12 雜湊定義,以符合日誌文件條目的位元組格式。對於其他交易類型,bxid 遵循相同的約定,直接對日誌文件條目進行雜湊,跳過日期欄位。
處理無交易的 SC 餘額變動需要為每次餘額變動生成一個唯一的 bxid。通過計算金額為 0 的 SC 餘額變動,對該 bxid 的查詢返回該 tick 中該目的地的所有餘額變動之和。
使用 bxid
1. 計算 bxid
./bxid calcbxid epoch tick source dest amount
2. 獲取 bxid 資料
curl 93.190.139.223:9200/txid/_doc/(txid)
curl 93.190.139.223:9200/bxid/_doc/(bxid)
3. 驗證 bxid 資訊
- 如果 bxid 存在,則可以在所包含的 tick 中找到匹配的 txid 並驗證。
- 如果 txid 被包含但 bxid 缺失,則驗證實體資訊以獲取當前餘額。匯總指定地址的 epoch 的所有 bxid,根據來源或目的地進行減法,並將淨變動添加到 epoch 頻譜文件的開頭。如果它使用加密驗證的實體數據匹配餘額,則確認 bxid。
實施
1. 設置 bxid 存檔服務
克隆並構建存儲庫:
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. 創建 JSON 輸出
從日誌文件條目中示例 JSON:
{ "index": { "_index": "bxid", "_id": "397e947847ada93de80907d88a835419fb532b3ca1fd68b3c95ebab11cd24190" } }
{
"utime": "1707059413",
"epoch": "90",
"tick": "11867469",
"type": "1",
"src": "LZLDOEIBQWIUGGMZGOISLOAACDGAFVAMAYXSSJMLQBHSHWDBPMSDFTGAYRMN",
"dest": "QHQPMJVNGZJGZDSQREFXHHAZFYPBIYDOTFAOTTWGYCWGTIRNGBVMKBGGNDDA",
"amount": "1521139"
}
使用 Charmed OpenSearch 系統處理這些 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. 設置日誌處理循環
創建一個日誌處理循環來維持存檔服務和 REST API:
while true; do
./bxid processlog
done
結論
實施 bxid 存檔服務通過提供已確認並立即最終的價值轉移證明,簡化了將 Qubic 整合到現有加密服務中的過程。通過利用 bxid 和 bxid 存檔服務,Qubic 交易可以無縫地併入傳統加密基礎設施。
要獲取最新更新,加入 Valis Discord、在 X 上關注我們,並將我們的部落格加入書籤。
← 上一頁
下一頁 →