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. It also makes your overall farm quicker and more efficient when replying to challenges.
The architecture is composed of one main 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.
To secure communication between your harvester andmainmachine, TLS is used where yourmainmachine will be the private Certification Authority (CA) that signs all certificates. Each harvester must have its own signed certificate to properly communicate with yourmainmachine.
_____ Harvester 1 (certificate A) / other network peers -------- Main machine (CA) ------ Harvester 2 (certificate B) \_____ Harvester 3 (certificate C)
Then for each harvester, follow these steps:
NOTE:For step 4, you are using a copy of your/cadirectory from your main machine temporarily. DO NOT replace the /cafolder on your harvester. Put the/cadirectory into a temp folder on your harvester. You're going to show your harvester these files temporarily and then you can delete the /cadirectory in your temp folder.
EX:
harvester: chia_ssl_ca: crt: config/ssl/ca/chia_ca.crt key: config/ssl/ca/chia_ca.key farmer_peer: host: Main.Machine.IP port: 8447
Warning:
You cannot copy the entire config/ssl directory from one machine to another. Each harvester must have a different set of TLS certificates for your main machine to recognize it as different harvesters. Unintended bugs can occur, including harvesters failing to work properly when the same certificates are shared among different machines.
Security Concern:
Since beta27, the CA files are copied to each harvester, as the daemon currently needs it to startup correctly. This is not ideal, and a new way to distribute certificates will be implemented in a subsequent release post mainnet launch. Please be careful when running your harvester that is accessible from the open internet.
Note:
Currently (mainnet), the GUI doesn't show harvester plots. The best way to see if it's working is shut down Chia full node and set your logging level to INFO in your config.yaml on your main machine and restart Chia full node. Now you can check the log ~/.chia/mainnet/log/debug.log and see if you get messages like the following:
[time stamp] farmer farmer_server : INFO -> new_signage_point_harvester to peer [harvester IP address] [peer id - 64 char hexadecimal] [time stamp] farmer farmer_server : INFO <- farming_info from peer [peer id - 64 char hexadecimal] [harvester IP address] [time stamp] farmer farmer_server : INFO <- new_proof_of_space from peer [peer id - 64 char hexadecimal] [harvester IP address]
The outgoingnew_signage_point_harvestermessage states the farmer sent a challenge to your harvester and the incomingfarming_infomessage indicates a response. Thenew_proof_of_spacemessage states the harvester found a proof for the challenge. You will get morenew_signage_pointandfarming_infomessages thannew_proof_of_spacemessages.
Here's how to find your logs:Where to Find Things
If you are running the GUI and want to run multiple Harvesters
To know its working