メインコンテンツまでスキップ

SX エディション — サーバーデーモン

SX(Server eXperience)エディションはヘッドレスのライトノードです。デーモンと完全な管理 CLI から成り、サーバーと自動化のために作られています。バイナリは lightnode-sx です。これはライトノードのv3.1.1系列です(チェーンバージョンとは別の、独自のバージョン)。

インストール

ソースからバイナリをビルドするか、Docker で実行できます。

ソースからのビルド

ライトノードはGo 1.26.1を必要とし、CGO を有効にしてビルドします。これは、ポスト量子暗号がネイティブライブラリ(libqorepqc)を使用するためです。

CGO_ENABLED=1 go build -o build/lightnode-sx ./cmd/lightnode-sx/

これにより build/lightnode-sx が生成されます。直接実行するか、PATH にコピーしてください。

Docker

Docker のセットアップが用意されています。SX サービスは Dockerfile.sx からビルドされます。

docker compose up lightnode-sx

SX コンテナは、/root/.qorechain-lightnode にマウントされた名前付きボリュームにデータを永続化し、チェーン RPC アドレスを QORECHAIN_RPC_ADDR 環境変数から読み取ります。

設定

ライトノードは TOML 設定ファイルを読み取ります。デフォルトでは、ホームディレクトリ内の config.toml~/.qorechain-lightnode/config.toml)を探します。通常このファイルを手書きすることはありません — onboard ウィザードが作成してくれます — が、オプションを理解しておくと役立ちます。

すべてのコマンドに適用される2つの永続フラグがあります。

  • --config <path> — デフォルト以外の場所にある設定ファイルを指定します。
  • --home <dir> — データとキーに使われるホームディレクトリを上書きします(デフォルトは ~/.qorechain-lightnode)。

利用レベルで最も関連性の高い設定オプションは次のとおりです。

オプション制御内容
chain_idネットワーク識別子(例: テストネットでは qorechain-diana、メインネットでは qorechain-vladi)。
rpc_addrデーモンが接続するチェーン RPC エンドポイント。ローカルのみモードで実行するには空のままにします。
primary_addr / witness_addrsスキッピングライトクライアントが使用するプライマリおよびウィットネスの RPC エンドポイント。
trust_period / max_clock_driftライトクライアントの信頼ウィンドウ(例: 168h)と許容されるクロックドリフト。
data_dirノードがデータベースとヘッダーを保存する場所。
keyring_backend / key_nameキーリングバックエンド(file または os)とオペレーターキー名。
[delegation]自動複利運用のオン/オフ、複利運用間隔、請求のための最小報酬、バリデーターセット、分割ウェイト、リバランス、最小レピュテーション。
[telemetry]テレメトリを有効にするかどうか、およびバリデーター、ネットワーク、ブリッジ、トークノミクスの更新間隔。
log_level / log_formatログの詳細度(debuginfowarnerror)と形式(text または json)。

委任のデフォルトは、1h 間隔での自動複利運用とレピュテーションを考慮したリバランスを有効にします — これらが何をするかについては報酬と監視を参照してください。

初回実行: onboard

初回起動時、設定ファイルがまだ存在しない場合、start は停止してオンボーディングウィザードを案内します。ウィザードを実行します。

build/lightnode-sx onboard

onboard は、4つのステップでセットアップをガイドします。

  1. PQC セルフテスト — 完全な Dilithium-5 ラウンドトリップを実行します(selftestと同じチェック)。PQC スタックが失敗した場合、ウィザードは続行を拒否します。
  2. チェーン RPC エンドポイント — QoreChain の RPC URL を貼り付けるか、チェーン接続が不要な間はローカルのみモードで実行するために空白のままにします。URL を入力すると、ウィザードは到達可能性をライブでテストします。
  3. バリデーター秘密鍵 — 16進エンコードされた Dilithium-5 秘密鍵を貼り付けるか、g(または generate)と入力してこのノード上で新しい鍵ペアを生成します。
  4. 保存config.toml を書き込み、キーをキーリングに保存します。
ローカルのみモード

エンドポイントを空白のままにすると、デーモンはローカルのみモードで起動します。PQC スタックは完全に実行されますが、ノードはどのチェーンも同期しません。チェーンエンドポイントの準備ができたら onboard を再実行して、ノードをそこに向けてください。

onboard は常にアクティブな設定を上書きします。デフォルト以外のパスに書き込むには --config を、プロンプトを表示する代わりに即座に失敗させる(CI で便利)には --non-interactive を使用してください。

実行: start

オンボーディングが設定を書き込んだら、デーモンを起動します。

build/lightnode-sx start

デーモンは、中断されるまでヘッダーを同期し、委任を追跡し、テレメトリを提供します。意図的に設定ファイルなしで起動したい場合(ローカルのみ、チェーン RPC なし)は、--skip-onboarding-check を渡してください。

PQC スタックの検証: selftest

いつでもポスト量子スタックが機能していることを確認できます。

lightnode-sx selftest

selftest は Dilithium-5(ML-DSA-87)に対して5つのチェックを実行し、1秒未満で完了します。

  1. Keygen — 新しい鍵ペアを生成します。
  2. Sign — テストメッセージに署名します。
  3. Verify(有効な署名) — 署名が対応する公開鍵で検証できることを確認します。
  4. 改ざんされた署名の拒否 — 署名の1バイトを反転させます。検証はそれを拒否しなければなりません。
  5. 改ざんされたメッセージの拒否 — メッセージの1バイトを反転させます。検証はそれを拒否しなければなりません。

いずれかのチェックが失敗した場合、バイナリは診断出力とともに非ゼロで終了します。これはオンボーディングウィザードが最初のステップとして実行するのと同じテストであり、デプロイ前の検証やサポート診断に便利です。

管理コマンド

SX CLI には、ノードの状態を確認しキーを管理するためのコマンドが含まれます。

コマンド目的
statusノードとライトクライアントの同期状態を表示します(チェーン ID、最新の高さ、キャッチアップ状態)。
keys create <name>新しい Dilithium-5 キーを作成します。
keys listキーリング内のキーを一覧表示します。
keys import <name> <hex-privkey>16進エンコードされた秘密鍵をインポートします。
keys export <name>秘密鍵を16進形式でエクスポートします。
registerこのノードのオンチェーン登録コマンドを出力します — 登録とライセンスを参照。
validatorsボンドされたバリデーターを一覧表示します。
delegationローカルデータベースから現在の委任を表示します。
rewards保留中のステーキング報酬を表示します。
networkローカルデータベースからネットワークテレメトリ(最近同期したヘッダー)を表示します。
versionバイナリのバージョンを出力します。

ステーキング、報酬、監視の詳細については報酬と監視を参照してください。オンチェーン登録については登録とライセンスを参照してください。