Skip to main content
WindowsまたはWSL2でのgo-quaiの実行は現在サポートされていません。

要件

Quai Networkノードを実行するには、以下の仕様が推奨されます:

8コア以上の高速CPU

16GB以上のRAM

最低1TBの空き容量がある高速SSD

10+ MBit/秒のダウンロード速度のインターネット接続

依存関係のインストール

1

Go v1.23.0+

Snapはすべてのlinuxディストリビューションにデフォルトでインストールされているわけではありません
UbuntuまたはMacOS以外の場合、goを直接インストールする方法についてはgolangインストールページをご覧ください。
2

Git、Make、G++

git、make、g++を次のコマンドでインストールします:

ノードの設定

開始

Orchardテストネットにはgo-quaiのorchardブランチを使用する必要があります。他のブランチやタグを使用すると、同期の問題やジェネシスの非互換性が発生します。
上記のコインベース値はダミー値に設定されています。自分のアドレスに置き換えない場合、ブロック報酬を受け取ることができません。
これにより、コマンドのnode.slicesnode.quai-coinbasesnode.qi-coinbasesフラグの値を使用してノードが起動します。ログがターミナルに出力され始めるはずです。

停止

ノードの停止は、設定ファイルに変更を加えたときや、マシンをシャットダウンする前に行う必要があります。ノードインスタンスはCTRL+Cを使用して終了できます。
マイナーを実行している場合、CTRL+Cが機能しない場合があります。ノードを停止する前にマイナープロセスを終了する必要があります。

環境変数

Quaiノードを実行するために必要ないくつかの重要な変数があります。これらは開始コマンドの引数として渡されます
  • quai-coinbasesqi-coinbases:ブロック報酬とマイナーチップが支払われる各台帳のアドレス。
  • miner-preference:平均してQuaiまたはQiトークンで支払われるべきブロック報酬の割合。
  • slices:ノードが実行するネットワークのスライス。
この記事では扱わない、より高度なパラメータが引数として渡すことができます。
1

マイニングアドレスの設定

コインベースは、マイニングしようとするチェーンの自分のアドレスと共に、以下のようにstartコマンドに渡されます。Pelagus Walletを使用して、各シャードと台帳のアドレスを簡単に生成できます。ノードが実行している各シャードに対して固有のQuaiとQiアドレスを生成し、実行コマンドにコインベースフラグとして渡す必要があります。各台帳には固有のコインベースフラグがあります:
  • quai-coinbases:Quai台帳のコインベース
  • qi-coinbases:Qi台帳のコインベース
Qiマイニングアドレスは「0x00…」で始まります。これはQi支払いアドレスと混同しないでください。QiマイニングアドレスはPelagus Walletの設定で確認できます。
2

ブロック報酬の優先設定

Quaiプロトコルは、ブロック報酬とマイナーチップをQuaiまたはQiトークンのいずれかで支払うことができます。マイナーは、マイナーチップがどのトークンで支払われるかを決定する能力はありませんが、ブロック報酬の支払いトークンの優先設定をQuaiまたはQiに設定する能力があります。ブロック報酬トークンの優先設定は、miner-preferenceフラグを使用して設定できます。miner-preferenceフラグは、QuaiまたはQiトークンで支払われるべきブロック報酬の割合を示す0から1の間の値に設定できるパーセンテージスケールです。いくつかの例:
  • 0:100% Quai優先、すべてのブロック報酬がQuaiで支払われる
  • 0.25:3/1 Quai優先
  • 0.5:均等分割、平均してブロック報酬がQuaiとQiで均等に支払われる
  • 0.75:3/1 Qi優先
  • 1:100% Qi優先、すべてのブロック報酬がQiで支払われる
startコマンドでminer-preferenceフラグを0から1の間の値で以下のように渡します:
3

報酬ロックアップ期間

Quaiプロトコルは、ブロックがマイニングされるとすぐにブロック報酬を支払いますが、ロックアップ期間の対象となります。
  • Quaiブロック報酬は、ロックアップ期間が経過した後にマイナーのコインベースに送信されます。
  • Qiブロック報酬トークンは、マイナーのコインベースに送信され、残高として登録されますが、ロック解除されるまで「使用不可」と見なされます。
ロックアップ期間は、--node.coinbase-lockupフラグを使用してマイナーが設定できます。プロトコルは、マイナーがブロック報酬をより長期間ロックアップするための追加のインセンティブを提供します。--node.coinbase-lockupで利用可能な値と、対応する期間および報酬ブーストは次のとおりです:*基本成熟期間
報酬のパーセンテージは、表に示された各年の間で線形に減少します。
startコマンドで--node.coinbase-lockupフラグを以下のように渡します:
4

スライス

実行したいネットワークのスライスに応じて、実行コマンドでnode.slicesフラグを設定します。コードベースでは、スライスはリージョンとゾーンのインデックスで識別されます。リージョンとゾーンのインデックスは0インデックスで、0から2の範囲です。
ColosseumメインネットとOrchardテストネットは[0 0]スライスのみをサポートしています。
5

ネットワーク環境とジェネシスノンス

Quaiに接続するには、対象ネットワークの正しいジェネシスノンスが必要です。ノンスは、ノードがチェーンの最初の正規ブロックを正しく計算できるようにするパスワードとして機能します。起動時に--node.genesis-nonceフラグを使用してジェネシスノンスをノードに渡します。
--node.environmentのオプション:"colosseum"(メインネット)、"orchard"(メインネットテストネット)、"garden"(メインネットdevnet)、"local"

ログ出力の確認

ノードを開始すると、go-quaiのすべてのインスタンスがフォアグラウンドで実行され、ノードからのより具体的なログを保存するためにnodelogsという名前のディレクトリも作成されます。ノードからの出力は、nodelogsディレクトリ内のコンテキスト固有の.logファイルにパイプされます。特定の場所のログ出力を表示するには、次を使用します:
ノードログ出力を確認することは、_フルノードが正しく実行されていることを確認する_最良の方法です。お気に入りのIDEやテキストエディタでもノードログを簡単に表示できます。 正しく開始されたノードの出力は、以下のようになるはずです。
ターミナルへのログ出力を停止するには、CTRL+Cを使用できます。
ノードが現在何をしているかによって、ログは上記とまったく同じように見えない場合があります。

同期の進行状況の確認

ノードが正しく開始された場合、ピアからチェーン状態の同期を開始します。同期の進行状況を確認する方法はいくつかあります。 コマンドラインから、次のコマンドを実行して、追加されたブロックのリストを出力できます。location-to-print-here.log出力したいログのファイル名に置き換えてください
出力は以下のようになるはずです:
ノードの同期の進行状況を確認するには、上記のコマンドから出力された最新ブロックの番号を、Quaiノード統計ページで実行しているチェーンの現在の高さと比較してください。
同期中にノードが一時的に追加を停止しても、停止しないでください。実行を続けさせ、1時間以上ブロックが追加されない場合のみサポートを求めてください。

ノードの更新

ノードまたはマネージャーが現在実行中の場合、ノードの更新プロセスを開始すると問題が発生する可能性があります。更新する前にすべてのプロセスを停止してください。
ノードを更新するには、最初にすべてのgo-quaiインスタンスを停止してから進めてください。 ノードを停止した後、次を使用して更新されたコードをプルする必要があります:
go-quaiの最新リリースをチェックアウトします:
最後に、次を使用してソースを再ビルドします:
新しいコードをプルしてソースを再ビルドした後、ノードを安全に再起動して実行を続けることができます。

リセットとクリア

ノードをリセットしてデータベースをクリアすると、同期したすべての状態が削除されます。これは元に戻せないアクションであり、以下に記載されているコマンドは慎重に使用する必要があります。
開発者やノードランナーは、同期された状態を完全にクリアしたり、問題やバグの場合に完全なリセットを行う必要がある状況に遭遇する場合があります。ノードの完全なリセットには、ノードの停止、現在のnodelogsのクリア、およびすべての同期状態の削除が含まれます。 注意:ノードのリセットは元に戻せず、すべての同期状態を削除することの意味を理解している場合にのみ行うべきです。
Linuxマシンの場合、nodelogsディレクトリと、すべての同期状態を含むベースの~/.local/share/go-quaiディレクトリを削除します。これを行うには、次のコマンドを実行します:
上記のコマンドを実行した後、ノードは完全にリセットされ、再起動する準備ができています。

バックアップ/スナップショットの作成

次の目的で独自のバックアップまたはスナップショットを作成できます:
  • 後で保存する
  • 別のマシンに移動する
  1. ノードをクリーンにシャットダウンします。ctrl+cを使用できます。
  2. ピアDBを削除します。ジェネシスハッシュフォルダに保存されています。
  3. より小さいストレージとより速い転送のためにデータベースを圧縮します。

スナップショットからのダウンロードと同期

スナップショットから同期する一般的な理由:
  • 同期時間の短縮
  • 新しいマシン/ドライブでのノードの再起動
スナップショットから同期する場合、スナップショットの内容を信頼していることに注意してください。ノードがネットワークを完全に検証するには、ジェネシスから同期する必要があります。
スナップショットからノードのデータベースを復元するには、まずノードを停止する必要があります。その後、公式スナップショットリンクから、またはCLIから以下のコマンドを実行して最新の公式スナップショットをダウンロードできます。Quaiメインネットの最初のスナップショットが取得されたら、リンクがここに追加され、定期的に更新されます。
スナップショットからデータベースを復元するには、次を使用します: