chia1.2.0リリースとmadmaxによるpool対応plotファイルの作成方法
初めに
7/8 12時頃にchia1.2.0がmainnetでリリースされました。このバージョンで公式でのpool採掘が正式サポートされました。という事で、pool採掘用のplotファイルの作成についてちょっとまとめてみようと思います。一応自分はマイニングを行っている機械はWindows10で行っているので今回はWindowsでのpool設定とUbuntuでのmadmaxを用いたplotファイル作成についてです。
今回の手順の流れ
まずは公式chiaでpoolの指定。そしてpool puzzle hashを取得。その他必要な情報を取得。最新版madmaxのインストール。最後にmadmaxを走らせます。
まずは公式chiaでpoolを指定する
とりあえず公式ツールでNodeの同期は終わらせてください。そうしないとmojoを取得してもwalletに送られたのが検知できずにpool変更のためのmojoの支払いが出来ません。最近だとトランザクションが54万ちょいまで行ってしまっているのでフル同期に2~3日ほどかかりました。
同期させたら左のタブのPoolを選択します。そうするとJOIN A POOLというボタンが出ているのでこいつを押すとFaucetからXCHを取得するというボタンが出てくるのでとりあえずそれを貰います。
飛ばされたサイトに自分のwalletのアドレスを入れると若干量のXCHが降ってきます。ちょうど100mojoですね。このうち1mojoを使用してpool変更を行います。この時Nodeの同期が終わってないとmojoの受け取りが反映されないためpoolの指定が出来ません。
受け取り自体はかかっても数分で反映されるので待ちましょう。受け取れればこのような画面になるので、登録したいpoolのアドレスをconnect to poolを選択して打ち込みます。一応Self poolを選択すると今までと同じようにソロ採掘が可能になります。今回はちょっと巷で有名になってるSpacePoolという所を選択してみました。
blog.pool.space
SpacePoolならアドレスはここのサイトのちょっと下の方にあるhttps://asia1.pool.spaceというやつですね。これを打ち込むとVerify Pool Detailsという項目が表示されpoolの詳細を確認することが出来ます。一応これで接続しようとしているpoolと一緒かどうか確認してください。
合っていればCREATEボタンを押せばpoolの登録が出来ます。
一応CLIでのpool登録も可能らしいですが、自分はそれが面倒なので今回GUIでの登録をしました。登録が終わるとPoolのタブが以下のように変化します。
これで一応pool登録が出来たので、ここからはmadmaxを走らせるために必要になる引数を集めていきます。
plotファイル作成に必要な文字列の収集
今までmadmaxを走らせるために必要だった引数は-p (poolkey arg)と-f (farmerkey arg)の2つでした。それが今回pool用に-pが-cというPool Contract Addressというものに変化しています。それを取得します。
これに関してはGUIからもCLIからも収集が容易なため両方を紹介します。
まずはGUIから。
Poolタブを選択して、自分の選択したPoolの名前の右にある?マークにマウスオーバーすると確認することが出来ます。
丁度ここですね。これがpool constract addressになります。こいつをどこかにコピーしておいてください。
CLIでの場合はこちら。
Windowsの場合はcmdでまずは階層を移動していきます。
cd C:\Users\<user>\AppData\Local\chia-blockchain\app-1.2.0\resources\app.asar.unpacked\daemon
userの所はユーザー名に編集してください。ここで以下のコマンドを打ちます。
.\chia plotnft show
これを打つとP2 singleton addressという項目があります。これをコピーします。このコマンドではその他poolに関する情報を取得することが出来ます。
その他必要なfarmerkeyは以前まで使っていたものと同じなため今回は省略します。一応取得したい場合は chia keys showで確認できます。
最新版madmaxのインストールを行い走らせる
一応以前のバージョンのmadmaxを保存したい場合は
mv chia-plotter chia-plotter-OG
などのコマンドでmadmaxを移動させておくと使えます。必要ないという場合はバージョンを上書きします。
cd chia-plotter git checkout master git pull git submodule update --init
これで最新バージョンにアップデートできます。masterをpullしてsubmoduleをアップデートするらしいです。
もしchia-plotterを移動させて別途新しいバージョンを保存したい場合は以下のようにコマンドを打って行ってください。
git clone https://github.com/madMAx43v3r/chia-plotter.git cd chia-plotter git submodule update --init ./make_devel.sh
要は新規でmadmaxをインストールする手順と同じですね。これで一応2バージョンのmadmaxの共存が可能です。
そうしたらmadmaxを走らせます。一応--helpで確認をすると-p -c -fの項目が追加されています。多分-fが絶対必要な引数になっており、-cと-fはどちらかが入力されてれば大丈夫だと思います。-cがある場合はpool用plotファイルを作成し、-fが入力されている場合は今までのOG plotといわれるplotファイルの作成が始まるようになっているっぽいです。
./chia-plotter/build/chia_plot -n 1 -r 32 -u 256 -t /media/xeonplotter/ssdRaid/ -2 /media/xeonplotter/ram/ -d /media/plot11/spacepool/ -f **** -c ****
自分の場合はこんな感じで走らせています。-fと-cは自分の文字列を入れてください。-t,-2,-dの辺りは今までの挙動と変わっていません。
chia公式ツールにplotファイルを読み込ませる
madmaxでplotファイルを作り終わったら公式ツールの方でplotファイルを読み込ませます。Plotsタブの中にあるAdd Plot Directoryというボタンを押してplotファイルのあるフォルダを選択して登録します。これでplotファイルを読み込んでファーミングが開始されます。一応Poolタブの中からちゃんとplotファイルが増えているかの確認もできますので一応してみてください。
という事で最後に
現状hpoolが公式pool用のアドレスを公開していないためとりあえずspacepoolでの実装となりました。ただ、見てみると当選間隔が15時間ほどっぽいので良くて1日2回ほどの払い出しになりそうですね。
ここから技術的な方面に。poolのロジック的にはnftPlotがpoolとplotファイルにおける払い出し先(farmer address)を紐付けるものとなっており、こいつの中のpoolを書き換えて承認させることによってpoolの切り替えを行っているっぽいです。また、その他のplotファイルの中身においては今までのOG plotとそんなに大差ないっぽいかと思っています。これは正直plotファイル作成用のpythonを読んでみないと分からないですが。
また、hpoolは現状今までのOG plotを用いたMinerToolを採用しています。そのため、現状新しいplotファイルに入れ替えるとhpoolのツールで読み込めない可能性があります。そこは現在確認のためにplotファイルを作成してみています。
方法としては、spacepoolのリンクからcontract addressを取得し、それを用いてplotファイルの作成。作成したplotファイルをhpoolのツールに読み込ませてhpool上で容量が上昇するかどうかという段取りです。もし上昇すれば、plotファイルをspacepoolで量産し、hpoolのpoolAddressが公開されたタイミングで公式ツールのpoolをhpoolに変更して新しいplotファイルは全部そちらに読み込ませる、今までのOG plotに関しては順番に削除していきplotファイルを作り直していくという段取りです。そうすれば一応hpoolにすべてのplotファイルを集結させることが出来そうです。これに関してはテストが出来次第追記しようと思います。
とりあえずmadmaxと公式poolの挙動についてまとめました。ここからほとんどの人がplotファイルの再作成を行っていくと思うので、参考になれば幸いです。それではまた。