Farming on many machines - thomas-z8/chia-blockchain GitHub Wiki
This guide allows you to run a harvester on each machine, without having to run a full node, wallet, and farmer on each one. This keeps your system simpler, uses less bandwidth, space, CPU, and also keeps your keys safer.
The architecture is composed of one machine which runs the farmer, full node, and wallet, and other machines which run only the harvester. Only your main machine will connect to the Chia network.
_____ Harvester 1
/
other network peers -------- Main machine ------ Harvester 2
\_____ Harvester 3
- First, make sure Chia is installed on all machines. Ensure you have private keys by running CLI
chia keys show
. - When creating plots on the other harvesters, use
chia plots create -f farmer_key -p pool_key
, inserting the farmer and pool keys from your main machine. Alternatively, you could copy your private keys over by usingchia keys add -m 24words
, but this is less secure. After creating a plot, runchia plots check
to ensure everything is working correctly. - Copy the
trusted.crt
andtrusted.key
file from~/.chia/beta-1.0bx/config/
in your main machine, to all harvester machines in the same location. This allows connection the the main machine, securely. - Make sure your main machines IP address on port 8447 is accessible by your harvester machines
- Open the
~/.chia/beta-1.0bx/config/config.yaml
file in each harvester, and enter your main machine's IP address in the harvester's farmer_peer section - Launch the harvester by running CLI
chia start harvester
and you should see a new connection on your main machine's Farming tab. - To stop the harvester, you run CLI
chia stop harvester
Note:
Currently (beta15), the GUI doesn't show harvester plots. The best way to see if it's working is to check the log on your main machine ~/.chia/beta-1.0bx/log/debug.log
and see if you get messages like [time stamp] harvester src.harvester : WARNING KeyError plot [directory of your harvester + plot file name] does not exist.
That means it knows you have a plot that has a proof that can solve the challenge hash, but it can't find the file locally. This shows it's reading the information from your harvesters properly, knowing the file exists somewhere in your harvester network.