はじめに
ここでは、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のインスタンスを実行するには、いくつかの依存関係をインストールする必要があります。お好みのパッケージマネージャー(apt、brewなど)で依存関係をインストールできます。
Go v1.23.0+
Linux Snapインストール
MacOSインストール
Snapはすべてのlinuxディストリビューションにデフォルトでインストールされているわけではありません # snapdがまだない場合はインストール
sudo apt install snapd
# goをインストール
sudo snap install go --classic
goをインストールする前に、MacOSにはデフォルトでインストールされていないhomebrewがインストールされていることを確認してください。 UbuntuまたはMacOS以外の場合、goを直接インストールする方法についてはgolangインストールページをご覧ください。Git、Make、G++
git、make、g++を次のコマンドでインストールします:# gitとmakeをインストール
sudo apt install git make g++
gitとmakeを次のコマンドでインストールします:MacOSマシンにはすでにg++がインストールされています。
# gitとmakeをインストール
brew install git make
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でビルドできます:
ソースをビルドしたので、プロキシを開始できます。プロキシをバックグラウンドサービスとして実行するには、tmuxのようなプロセスマネージャーを使用することをお勧めします。
プロキシを実行するには、実行対象のシャードを選択する必要があります。
REGION-NAMEとZONE-NAMEを、ノードが実行しているリージョンとゾーンに対応するチェーン名に変更してプロキシを開始します。
./build/bin/go-quai-stratum --region=REGION-NAME --zone=ZONE-NAME
プロキシの実行は、ノードが状態を検証しているチェーンに対してのみ機能します。グローバルノードはすべてのチェーンの状態を検証しますが、
スライスノードは指定したチェーンの状態のみを検証します。
REGION-NAMEとZONE-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マイナーをそれに向けて、マイニングを開始する準備が整いました。