Qubicアーカイブサーバーの設定と運用
ピアの管理、ティックファイル、エポック用のスクリプトを使用して、Qubicトランザクションデータを保存および検証するためのアーカイブサーバーを設定します。
Qsilver · 2024年1月22日
導入
Qubicは、通常の暗号通貨ではありません!ブロックチェーンがないため、トランザクションがどのように検証されるのか最初は不明であり、トランザクションデータの毎週のプルーニングは過去のトランザクションを特定する上で課題を提示します。アーカイブサーバーは、各エポックの関連データを自動的に保存し、ネットワークプロトコルが変更されない限り、再コンパイルせずにエポックの変更に対処します。
セットアップとコンパイル
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
C++コードをコンパイルするためにg++
、cmake
、およびe2fsprogs
が必要です。これらは通常標準であり、apt-get
を通じてインストールする必要はないかもしれません。
アーカイブサーバーの運用
アーカイブサーバーを継続的に運用するには、無限ループのbashスクリプトを使用します:
while true; do ACTION; done
各スクリプトを別のウィンドウで実行するか、&
を使用して非同期に実行します。切断のリスクがある場合は、次を使用します:
nohup ./script > script.out &
アクションとスクリプト
1. ピアリストの管理
次のアクションでループスクリプトを作成します:
./bxid peersloop
このスクリプトは、ピアのIPアドレスにちなんで名付けられたファイルでピアディレクトリを更新します。クエリで現在および前のエポックのピアを見つけるために不可欠です。
2. ティックファイルの取得
次のアクションでループスクリプトを作成します:
./bxid maketickfiles
このスクリプトは、クォーラムファイルとティックデータをそれぞれのディレクトリに保存します。ティックファイルを取得するための並行リクエストと、リトライを伴う逐次モードの2フェーズで動作します。このスクリプトをループで実行することで、各反復でより多くのファイルが取得されます。
3. エポックのスキャン
次のアクションでループスクリプトを作成します:
./bxid scanepoch 0
エポック値0は、スクリプトが現在のエポックを決定し、アーカイブ用の.json
ファイルを生成することを意味します。指定されたエポックのcomputors
ファイルが利用可能であることを確認してください。
4. JSONファイルの生成とOpenSearchへの投稿
次のアクションでループスクリプトを作成します:
./bxid jsonfiles
このスクリプトは.json
ファイルを生成し、OpenSearchに投稿します。基本的な検証を実行し、不正なファイルを削除します。
5. 検証
次のアクションでループスクリプトを作成します:
./bxid validate
このスクリプトは、クォーラム投票を検証し、451以上の投票が一致するハッシュを持ち、ティックデータハッシュを検証することを確認します。検証済みファイルを再検証されないように書き込み保護します。
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
データセットを生成します。これにより、異なるアーカイブ間で同一のデータが確保されます。
結論
アーカイブサーバーのセットアップとそのさまざまなスクリプトにより、Qubicトランザクションデータが包括的に保存および検証されます。これらのツールを使用して、Qubicのユニークなトランザクション処理に対応できる堅牢なアーカイブサーバーを維持できます。
最新の情報については、Valis Discordに参加し、Xでフォローし、私たちのブログをブックマークしてください。
最新の情報については、Valis Discordに参加し、Xでフォローし、私たちのブログをブックマークしてください。