Windowsでマルチスレッド対応の非公式Plotツールchia-plotterをバッチファイルで簡単に耕作する方法

Chiaの耕作ツールに、マルチスレッドに対応した非公式なchia-plotterというツールがあります。
CPUを効率よく使うことで、並列でPlotするより高速に耕作が完了します。

開発はGitHubのmadMAx43v3rで行われており、MadMax(マッドマックス)版とも呼ばれています。
GitHub madMAx43v3r/chia-plotter

このプロジェクトから派生(フォーク)してWindowsに対応させたものにstotiks/chia-plotterがあります。
GitHub stotiks/chia-plotter

chia-plotterのダウンロード
ファーマー公開鍵、プール公開鍵の調べ方
chia-plotterをバッチファイルで簡単に実行する方法
2番目の一時ディレクトリを指定してさらに高速に耕作する

chia-plotterのダウンロード

下記のページより最新のmadMAx43v3r/chia-plotter windows buildをダウンロードします。
madMAx43v3r_chia-plotter_win_build_v0.x.x.zip のようなzipファイルです。
GitHub madMAx43v3r/chia-plotter releases

Usage:
chia_plot [OPTION...]

-n, --count arg Number of plots to create (default = 1, -1 = infinite)
-r, --threads arg Number of threads (default = 4)
-u, --buckets arg Number of buckets (default = 128)
-t, --tmpdir arg Temporary directory, needs ~220 GiB (default = $PWD)
-2, --tmpdir2 arg Temporary directory 2, needs ~110 GiB [RAM] (default = )
-d, --finaldir arg Final directory (default = )
-p, --poolkey arg Pool Public Key (48 bytes)
-f, --farmerkey arg Farmer Public Key (48 bytes)
--help Print help

実行例

chia_plot -n 【plotする回数】 -r 【スレッド数】 -t 【一時フォルダ】 -d 【最終フォルダ】 -p 【プール公開鍵】 -f 【ファーマー公開鍵】

一時フォルダや最終フォルダの指定は、最後を¥にします。

ファーマー公開鍵、プール公開鍵の調べ方

公式ツールでキーを作成・登録していない場合には、キーを作成・登録します。 WindowsでChia Network(XCH)をHDDマイニングする方法

コマンドプロンプトで下記を実行します。
app-1.1.7の部分はインストールされているバージョンに合わせます。

> cd C:¥Users¥【ユーザー名】¥AppData¥Local¥chia-blockchain¥app-1.1.7¥resources¥app.asar.unpacked¥daemon

> chia keys show
Showing all public keys derived from your private keys:

Fingerprint: 999999999x
Master public key (m): mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
Farmer public key (m/12381/8444/0/0): ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
Pool public key (m/12381/8444/1/0): pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp
First wallet address: wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

Farmer public keyの部分がファーマー公開鍵、Pool public keyの部分がプール公開鍵です。
キーが同じであれば、どのPCでもファーマー公開鍵とプール公開鍵は同じです。

chia-plotterをバッチファイルで簡単に実行する方法

解凍したmadMAx43v3r_chia-plotter_win_buildのchia_plot.exeがあるフォルダに、下記の内容を自身の環境に書き換えてchia.batのファイル名で保存して、実行するとPlotが開始されます。

REM 最終フォルダ
set DATAPATH=E:¥xch¥data¥

REM 一時フォルダ
set TMPPATH=D:¥xch¥tmp¥

REM ファーマー公開鍵
set FARMERPUBLICKEY=ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff

REM プール公開鍵
set POOLPUBLICKEY=pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp


REM 一時フォルダがなければ作成します
mkdir %TMPPATH%

REM chia-plotterはごくまれに途中で止まるので、無限ループにします
for /l %%n in (0,0,0) do (
  REM タイトルを変更します
  title chia-plotter %date% %time% %DATAPATH%

  REM 一時フォルダを空にします
  del /Q %TMPPATH%

  REM chia_plotを実行します
  chia_plot -r 6 -n -1 -t %TMPPATH% -d %DATAPATH% -f %FARMERPUBLICKEY% -p %POOLPUBLICKEY%
)

「VCRUNTIME140_1.dllが見つからないため、コードの実効を続行できません」の対処法

2番目の一時ディレクトリを指定してさらに高速に耕作する

GitHub madMAx43v3r/chia-plotterの説明文には下記のようにあります。

For <poolkey> and <farmerkey> see output of `chia keys show`.
<tmpdir> needs about 220 GiB space, it will handle about 25% of all writes. (Examples: './', '/mnt/tmp/')
<tmpdir2> needs about 110 GiB space and ideally is a RAM drive, it will handle about 75% of all writes.
Combined (tmpdir + tmpdir2) peak disk usage is less than 256 GiB.

日本語訳

<poolkey>と<farmerkey>については、 `chia keysshow`の出力を参照してください。
<tmpdir>は約220GiBのスペースを必要とし、すべての書き込みの約25%を処理します。 (例: './'、'/mnt/tmp/')
<tmpdir2>は約110GiBのスペースを必要とし、理想的にはRAMドライブであり、すべての書き込みの約75%を処理します。
合計(tmpdir + tmpdir2)のピークディスク使用量は256GiB未満です。

公式版ではフェーズ3とフェーズ4で2番目の一時ディレクトリが使用されますが、MadMax版ではフェーズ1から2番目の一時ディレクトリが使用され同時並行で作業がされているようです。
このため2番目の一時ディレクトリに別ドライブのフォルダを指定すると、さらに高速に耕作が完了します。

ディスク書き込み処理を分散させることで高速化するので、一時ディレクトリと2番目の一時ディレクトリが同一のストレージだと意味がありません。

一時ディレクトリより2番目の一時ディレクトリのほうがディスクアクセスが多いので、2番目の一時ディレクトリのほうを速いストレージにしたほうがよいです。

2番目の一時ディレクトリを指定する場合のバッチファイルは下記の内容です。

REM 最終フォルダ
set DATAPATH=E:¥xch¥data¥

REM 一時フォルダ
set TMPPATH=D:¥xch¥tmp¥

REM 2番目の一時フォルダ
set TMPPATH2=E:¥xch¥tmp¥

REM ファーマー公開鍵
set FARMERPUBLICKEY=ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff

REM プール公開鍵
set POOLPUBLICKEY=pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp


REM 一時フォルダがなければ作成します
mkdir %TMPPATH%
REM 2番目の一時フォルダがなければ作成します
mkdir %TMPPATH2%

REM chia-plotterはごくまれに途中で止まるので、無限ループにします
for /l %%n in (0,0,0) do (
  REM タイトルを変更します
  title chia-plotter %date% %time% %DATAPATH%

  REM 一時フォルダを空にします
  del /Q %TMPPATH%
  REM 2番目の一時フォルダを空にします
  del /Q %TMPPATH2%

  REM chia_plotを実行します
  chia_plot -r 6 -n -1 -t %TMPPATH% -2 %TMPPATH2% -d %DATAPATH% -f %FARMERPUBLICKEY% -p %POOLPUBLICKEY%
)

関連記事

スポンサーリンク

AND演算子 論理積

ホームページ製作・web系アプリ系の製作案件募集中です。

上に戻る