スポンサーリンク

ChiaのFullNodeとHavesterを連携する

ほとんどこの記事の日本語版。

Chia-Network/chia-blockchain
Chia blockchain python implementation (full node, farmer, harvester, timelord, and wallet) - Chia-Network/chia-blockchain
スポンサーリンク

Fullnodeをたくさん実行するのはよくない

ChiaはHarvestingを行うために、Fullnodeが持っているBlock情報を参照できる必要があります。
PCが1台であれば、それらをすべて1台に収容するほかないので考えることがなく楽なのです。
しかし、Plottingの高速化のためPCを追加するといろいろ考えるべきことが出てきます。
仕組み的に一番楽な方法は、PlotファイルをFullnodeを実行しているPCにコピーしたり、Plottingを実行しているPCのHDDをネットワーク上で共有してFullnodeからPlotファイルを参照することですが、この場合ファイルのコピーに時間がかかったり、ネットワーク共有による問題やレイテンシの増加が不安です。
FullnodeをPlottingを行うPC毎に立ち上げるのも手段ではありますが、Fullnodeの負荷はそれなりに高いですし、Chiaのネットワークに負荷をかけることになるためFullnodeの数はできるだけ少なくするべきです。
また、UPnPが有効になっているローカルネットワークでFullnodeを複数実行する場合、そもそもFullnodeが正常に動作しない可能性もあります。

解決策は?

前項に記述したように、Fullnodeをたくさん実行することは推奨されません。
とはいえ、いちいちコピーしたりネットワークドライブを参照するのも、性能面や耐障害性で不安があります。
よってChia公式は2台目以降のPCでPlottingを行う場合、そのPC上でHarvesterのみを実行し、Harvesterはネットワーク上ですでに実行されているFullnodeが持つBlock情報を参照しHarvestingを実行する手段が推奨されています。

Chia-Network/chia-blockchain
Chia blockchain python implementation (full node, farmer, harvester, timelord, and wallet) - Chia-Network/chia-blockchain

これを行うことで、2台目以降のPCでPlottingを行った場合そのままそのPCでHarvestingを行うことが可能になり、家に眠っているクソ古いノートPCもPlottingに参加させることができるようになります。

片付けできない人間がFullnodeからネットワークドライブを参照するとこのように地獄になる

FullnodeとHarvesterを連携する

前提条件

これ以降の文章は以下の前提条件に基づいて書かれています。

・FullnodePC
 Fullnodeを実行するPCのことを指す、秘密鍵のインストール、Blockの同期はすでに完了していてHarvestも行っている。
・HarvesterPC
 これからHarvesterとなるPC、Chiaのインストールすら実施されていない。
実行環境はいずれもWindows、Linuxちょっとできる上級者は公式情報を参照してください(当ブログは初心者に優しいものでありたい)。

HarvesterPCのセットアップ

Chiaのインストール

以下のリンクからChiaのインストーラ(FullnodePCでインストールしたものと同じ。)をダウンロードし、PCにインストールします。

Chia-Network/chia-blockchain
Chia blockchain python implementation (full node, farmer, harvester, timelord, and wallet) - Chia-Network/chia-blockchain

インストールを実行すると、アプリが立ち上がりニーモニックの入力を求められますがいったん無視してChiaのアプリを閉じ、以下を参照してChiaのPathを通します。

動作確認ではchiaコマンドを実行してください。
以下のように出力されればOK。

PS C:\Users\shiori> chia
Usage: chia.exe [OPTIONS] COMMAND [ARGS]...

  Manage chia blockchain infrastructure (1.1.6)

Options:
  --root-path PATH  Config file root  [default: C:\Users\shiori\.chia\mainnet]
  -h, --help        Show this message and exit.

chiaの初期化

以下のコマンドを実行してchiaを初期化します。

chia init

以下が出力されればOK

PS C:\Users\shiori> chia init
Chia directory C:\Users\shiori\.chia\mainnet
Can't find private CA, creating a new one in C:\Users\shiori\.chia\mainnet to generate TLS certificates
Setting the xch destination address for coinbase fees reward to xch10fys8dedefz73yzpdsxdd9l7zyhxrhmfkpadllyfnlylek6pgt6q2kdzwc
Setting the xch destination address for coinbase reward to xch10fys8dedefz73yzpdsxdd9l7zyhxrhmfkpadllyfnlylek6pgt6q2kdzwc

To see your keys, run 'chia keys show --show-mnemonic-seed'

FullnodePCのCAファイルを取得する

FullnodePCの以下ディレクトリをUSBメモリなどにコピーする。

C:\Users\hyuri.chia\mainnet\config\ssl\ca

このファイルは他者に共有してはいけません。

HarvesterPCの設定を行う

FullnodePCのCAファイルをコピーする

先ほどUSBメモリなどに保存したフォルダをHarvesterPCにコピーします。
今回は以下のフォルダにコピーしました。

c:\chia\

コピー後、caフォルダ内の構成は以下のようになります。

FullnodePCのCAファイルでHarvesterPCを承認する

Powershellで以下のコマンドを実行し、先ほどコピーしたCAファイルでHarvesterPCを承認します(砕けた表現)。
c:\chia\caの部分はご自分の環境に置き換えてください。

chia init -c c:\chia\ca

以下のように出力されればOKです。

PS C:\Users\shiori> chia init -c C:\chia\ca
Deleting your OLD CA in C:\Users\shiori.chia\mainnet\config\ssl\ca
Copying your CA from C:\chia\ca to C:\Users\shiori.chia\mainnet\config\ssl\ca
C:\Users\shiori.chia\mainnet\config\ssl\ca\chia_ca.crt
C:\Users\shiori.chia\mainnet\config\ssl\ca\private_ca.crt
C:\Users\shiori.chia\mainnet\config\ssl\ca\chia_ca.key
C:\Users\shiori.chia\mainnet\config\ssl\ca\private_ca.key
Found private CA in C:\Users\shiori.chia\mainnet, using it to generate TLS certificates

HarvesterPCの設定ファイルを編集する

以下の設定ファイルをテキストエディタで開きます。

C:\Users\shiori.chia\mainnet\config\config.yaml

harvesterセクション(Chia ver1.1.6では158行目)の「farmer_peer」下の「host」の値をFullnodePCのIPアドレスに変更します。

harvester:
  chia_ssl_ca:
    crt: config/ssl/ca/chia_ca.crt
    key: config/ssl/ca/chia_ca.key
  farmer_peer:
    host: HarvesterPCのIPアドレス
    port: 8447

同様の設定項目がfull_nodeセクション(112行目)にも存在しますが、こちらは編集しないでください。

次にPlotファイルが存在するディレクトリを指定します。
同じくharvesterセクションの「plot_directories」を以下のように編集します。

plot_directories:
    - E:\chia\final
    - D:\chia\final

Harvesterを実行する

HarvesterPCにて以下のコマンドを実行し、Harvesterを起動します。

chia start harvester

以下のように出力されればOKです。

PS C:\Users\shiori> chia start harvester
Daemon not started yet
Starting daemon
chia_harvester: started
PS C:\Users\shiori>

動作確認

FullnodePCのChia wallet GUIを確認する。
Farming画面の「Your harvester Network」にHarvesterPCがリストされていればOK。

PlotCountにはすべてのHarvesterの合計が表示され、Last Attempted Proofの欄はHarvester事に表示されるようだ。

Chiaおたく
スポンサーリンク
スポンサーリンク
AruNya0718をフォローする
スポンサーリンク
www.arunyastyle.com

コメント

タイトルとURLをコピーしました