設置和運行 Qubic 存檔伺服器
使用腳本進行節點維護、獲取 tick 文件和處理 epoch,更高效地存儲和驗證 Qubic 交易數據。
Qsilver · 2024年1月22日
介紹
Qubic 不是普通的加密貨幣!由於沒有區塊鏈,最初不清楚如何驗證交易,並且每週剪除交易數據給確定過去交易帶來了挑戰。存檔伺服器通過自動存儲每個 epoch 的所有相關數據來解決這些問題,無需重新編譯即可處理 epoch 變更(除非網絡協議變更)。
設置和編譯
假設使用 Linux 伺服器,按照以下步驟設置存檔伺服器:
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
您的系統將需要 g++
來編譯 C++ 代碼,以及 cmake
和 e2fsprogs
。這些通常是標準配置,可能不需要通過 apt-get
安裝。
運行存檔伺服器
要持續運行存檔伺服器,使用無限循環 bash 腳本:
while true; do ACTION; done
在單獨的窗口中運行每個腳本或與 &
異步運行。如果存在斷開連接的風險,使用:
nohup ./script > script.out &
操作和腳本
1. 維護節點列表
創建一個循環腳本,動作為:
./bxid peersloop
此腳本將更新節點目錄,文件以節點 IP 地址命名,這對於查詢當前和以前的 epoch 節點至關重要。
2. 獲取 Tick 文件
創建一個循環腳本,動作為:
./bxid maketickfile
此腳本將保存 quorum 文件和 tick 數據到它們各自的目錄。它以兩個階段工作:並行請求獲取 tick 文件和具有重試的順序模式。循環運行此腳本可確保每次迭代獲得更多文件。
3. 掃描 Epochs
創建一個循環腳本,動作為:
./bxid scanepoch 0
epoch 值為 0 表示腳本將確定當前 epoch 並生成存檔的 .json
文件。確保指定 epoch 的 computors
文件可用。
4. 生成 JSON 文件並發送至 OpenSearch
創建一個循環腳本,動作為:
./bxid jsonfiles
此腳本生成 .json
文件並發送到 OpenSearch,執行基本驗證並刪除無效文件。
5. 驗證
創建一個循環腳本,動作為:
./bxid validate
此腳本驗證 quorum 投票,確保 451+ 投票具有匹配的哈希值並驗證 tick 數據哈希。它對驗證的文件進行寫保護以防止重新驗證。
使用 OpenSearch
按照 opensearch.org 上的說明安裝 OpenSearch。確保它在 localhost:9200
可用。如果添加了登錄和證書,則修改 bxidutils.cpp
中的 opensearch()
和 opensearchpost()
函數以使用適當的憑證。若要在無 OpenSearch 的情況下運行存檔伺服器,請在 bxid.cpp
中註釋掉 #define POST_TO_OPENSEARCH
。
附加工具
對於有權訪問計算器日誌提要的人,使用以下命令創建一個 bxid
數據集:
./qubic-cli -nodeip (ipaddr) -getlogfromnode (pass0) (pass1) (pass2) (pass3)
./bxid logjson logfileN
將 N
替換為計算器日誌條目的來源編號。這將在 logs/(epoch)/logfileN
中創建和維護日誌及其 .json
文件。
最後說明
添加一個腳本,內容為:
./bxid qchain 0
這將生成一個 qchain
數據集,包含 quorum 投票中的所有不變數據和以前的 tick 摘要。這有助於確保不同存檔之間數據的一致性。
結論
存檔伺服器設置及其各種腳本確保 Qubic 交易數據被全面存儲和驗證。有了這些工具,您可以維持一個能夠處理 Qubic 獨特交易處理的健壯存檔伺服器。
要獲取最新更新,加入 Valis Discord、在 X 上關注我們,並將我們的部落格加入書籤。
← 上一頁
下一頁 →