はじめに

ここでは、Quai NetworkのStratumプロキシのGo実装であるgo-quai-stratumをインストールします。このチュートリアルは、LinuxディストリビューションとMacOSシステムに焦点を当てています。
WindowsまたはWSL2でのgo-quai-stratumの実行は現在サポートされていません。
ビデオチュートリアルをお探しですか?Stratumプロキシのセットアップに関するビデオウォークスルーはこちらをご覧ください:

環境のセットアップ

最もシンプルなインストールプロセスのために、go-quaiを実行しているのと同じコンピューターでgo-quai-stratumをインストールして実行することをお勧めします。別のコンピューターでgo-quai-stratumを実行することは、追加のネットワーク設定が必要なため、上級ユーザーのみにお勧めします。

依存関係のインストール

go-quai-stratumのインスタンスを実行するには、いくつかの依存関係をインストールする必要があります。お好みのパッケージマネージャー(aptbrewなど)で依存関係をインストールできます。
1

Go v1.23.0+

Snapはすべてのlinuxディストリビューションにデフォルトでインストールされているわけではありません
  # snapdがまだない場合はインストール
  sudo apt install snapd

  # goをインストール
  sudo snap install go --classic
UbuntuまたはMacOS以外の場合、goを直接インストールする方法についてはgolangインストールページをご覧ください。
2

Git、Make、G++

git、make、g++を次のコマンドでインストールします:
# gitとmakeをインストール
sudo apt install git make g++
3

go-quai-stratum

基本的な依存関係をインストールしたので、ルートディレクトリでgo-quai-stratumリポジトリをクローンできます。go-quai-stratumリポジトリをクローンして移動するには、次のコマンドを実行します:
git clone https://github.com/dominant-strategies/go-quai-stratum
cd go-quai-stratum
このコマンドは_メインブランチ_をローカルマシンにインストールします。開発を意図しない限り、最新の_リリース_をチェックアウトする必要があります。最新のリリースはgo-quai-stratumリリースページで確認できます。その後、最新のリリースをチェックアウトします:
git checkout put-latest-release-here
例(これは最新のリリースではありません。最新のリリース番号についてはリリースページを確認してください):
git checkout v01.2.3-rc.4

設定

Quai stratumプロキシを実行するには、軽微な設定を行う必要があります。まず、サンプル設定ファイルをローカル設定ファイルにコピーします:
cp config/config.example.json config/config.json
これにより、サンプル設定がコピーされ、configディレクトリ内に新しい設定ファイルが作成されます。 新しく作成されたconfig.jsonファイル内で、ネットワーク設定やその他の関連変数を設定できます:

プロキシの実行

ビルド

プロキシを実行する前に、ソースをビルドする必要があります。次のコマンドを実行してMakefileでビルドできます:
make go-quai-stratum

実行

ソースをビルドしたので、プロキシを開始できます。プロキシをバックグラウンドサービスとして実行するには、tmuxのようなプロセスマネージャーを使用することをお勧めします。 プロキシを実行するには、実行対象のシャードを選択する必要があります。 REGION-NAMEZONE-NAMEを、ノードが実行しているリージョンとゾーンに対応するチェーン名に変更してプロキシを開始します。
./build/bin/go-quai-stratum --region=REGION-NAME --zone=ZONE-NAME
プロキシの実行は、ノードが状態を検証しているチェーンに対してのみ機能します。グローバルノードはすべてのチェーンの状態を検証しますが、 スライスノードは指定したチェーンの状態のみを検証します。
REGION-NAMEZONE-NAMEで利用可能なオプションは以下にあります。対応するリージョンとゾーン(例:cyprusとcyprus1)を選択する必要があります。
チェーン名タイプチェーンインデックスWebsocketポートStratum実行フラグ
Cyprusリージョン8002--region=cyprus
Cyprus1ゾーン[0 0]8220--region=cyprus --zone=cyprus1
Cyprus2ゾーン[0 1]8221--region=cyprus --zone=cyprus2
プロキシはデフォルトで3333ポートでマイナー接続をリッスンします。必要に応じて、実行コマンドで--stratumフラグを使用してプロキシがリッスンするポートを変更できます。
./build/bin/go-quai-stratum --region=REGION-NAME --zone=ZONE-NAME --stratum=LISTENING-PORT
プロキシのリスニングポートの変更は、単一のグローバルノードで複数のプロキシを実行する場合に便利です。単一のシャードでのみマイニングしている場合は、 リスニングポートを変更する必要はありません。
プロキシは、_以下のような_ログをターミナルにストリーミングし始めるはずです。
INFO   [10-02|14:56:20.718] Loading config                                path=config/config.json
2024/10/02 14:56:20 Set policy stats reset every 1h0m0s
2024/10/02 14:56:20 Set policy state refresh every 1m0s
2024/10/02 14:56:20 Running with 8 policy workers
WARNING[10-02|14:56:20.720] Invalid ethash caches in memory, defaulting to 1  requested=0
INFO   [10-02|14:56:20.736] Connected to Prime at:  ws://127.0.0.1:8001
INFO   [10-02|14:56:20.740] Connected to Region at:  ws://127.0.0.1:8002
INFO   [10-02|14:56:20.748] Connected to Zone at:  ws://127.0.0.1:8200
INFO   [10-02|14:56:20.748] Set block refresh every 1s
INFO   [10-02|14:56:20.751] New block to mine on cyprus1 at height [1 1 1]
INFO   [10-02|14:56:20.751] Sealhash: 0xb3168a87b94f47b4b57b0686b405a72475dca0b8691c76b80a0500091b5608d1
INFO   [10-02|14:56:20.751] Starting proxy on 0.0.0.0:0
2024/10/02 14:56:20 Broadcasting block 1 to 0 stratum miners
2024/10/02 14:56:20 Stratum listening on 0.0.0.0:3333
プロキシを停止するには、ターミナルでCTRL+Cを使用してください。 プロキシを設定してシャードに向けた後、GPUマイナーをそれに向けて、マイニングを開始する準備が整いました。