Farming from two different locations with one KEY

Hi everyone,
Would like to know if anyone here is farming with one key but two or more computers placed in different locations. Is it possible to have a harvester in different place from where the Full Node :desktop_computer: is located.

If you check this document, especially Setup Steps section:

You will see there changes you need to do on the harvester side:

harvester:
  farmer_peer:
    host: Main.Machine.IP
    port: 8447

It should not matter, whether that “Main.Machine.IP” is internal or external, as that is transparent on the protocol level. On the other hand, you will need to port forward 8447 port on your router (in your farmer location) to your farmer box.

@Jacek (or anyone else) I have been looking for that solution (and have a few questions), because I have two machines, and I start up the GUI on machine #1, and it harvests the plots on both machine #1 and machine #2.

Machine #1 is able to see machine #2’s plots, because I have machine #1 mapped to machine #2’s plot directory (via Map Network Drive). Machine #2 is simply a drive letter that is on machine #1. When machine #1 goes to that drive letter, it is accessing machine #2’s file systems.

But the above is not an ideal set-up, as machine #1 is doing the harvesting for two machines, and must do so over the network.

The link you posted, if I can get it to work, appears to be an ideal solution for me, to have each machine harvest its own plots.

The documentation in the link you provided is very good. But I have a few questions:

Question #1:
One of the steps reads:
“1. Make sure your main machines IP address on port 8447 is accessible by your harvester machines”

If I understand the above, it is saying to make sure that machine #2 can access port 8447 on machine #1.

If my understanding is correct, then how do I know if machine #2 can access port 8447 on machine #1?

What do I run to check the above, or how do I make the above happen?

Question #2:
One of the steps reads:
"2. Shut down all chia daemon processes with chia stop all -d"

Is the above for both of my machines? Or only machine #2, which is the one on which I am trying to get to run its own harvester?

Question #3:
One of the steps reads:
“3. Make a backup of any settings in your harvester”

On which of my two machines?
And what file(s) do I make copies of?

Is this step (step #3) talking about making a copy of machine #1’s “ca” directory, to be put into a temporary location on machine #2?

Question #4:
One of the steps reads:
“5. Open the ~/.chia/mainnet/config/config.yaml file in each harvester, and enter your main machine’s IP address in the remote harvester 's farmer_peer section (NOT full_node ).”

Does the above refer to only the machine on which I am setting up a new harvester?
In other words, I would not be touching my config.yaml file on machine #1, where I am running the GUI?

Question #5:
If I am successful at getting machine #2 to run its own harvester, then do I edit machine #2’s config.yaml file to point it to all of machine #2’s plot directories?

Similar question for machine #1. Do I edit machine #1’s config.yaml file and remove all entries that point to plot directories on machine #2?

I am hoping to get this working, because running a single harvester has resulted in Chia shorting me over 1,000 plots – some sort of bug. I am hoping that if each machine runs its own harvester, then I will get an accurate count of my plots.

Thanks for the GitHub link, and thanks in advance to you and anyone else that can help me with my questions.

Cheers!

Steps 1-7 are in reference to your harvester, more explicit your remote harvester (from #2 box). Your local (to the full node) harvester is already talking to your farmer using port 127.0.0.1, so nothing to do there.

#1
You can be pro- or re-active. To be proactive, I would use telnet to check it, but only if needed. Otherwise, you can wait till you are done, and see whether it works (that is what I would do). That port needs to be open on your farmer (box #1), and most likely it is already open.

#2
you are doing changes only to your remote harvester, so no need to touch your farmer (box #1)

#3
Make backup. This is CYA statement on their part. So, whatever you do, it doesn’t affect anything with respect to setting up remote harvester. Although, it is good to back up your config.yaml, and of course your blockchain db, regardless of those steps.

ca folder. You take ca folder from box #1, and copy it to box #2, as you want box #2 be recognized by box #1

#4
Yes, you are touching config.yaml on your remote harvester

#5
Yup, the harvester on box #2 needs to know where are your plots. Yes, you edit config.yaml, look for plot_directories section (compare to what you have on box #1 to get the format right)

Yup, you remove those remote drives from your box #1, as otherwise you will have plenty of duplicates.

It looks intimidating, but really is not. Just follow those steps, and you will be good.

Once you do those modifications, and start harvester on box #2, check your debug log on that box, as it will list all drives / plots it found. I always add a garbage folder, just to see it error on that one, but not on others.

Then go back to your box #1, and check Last Attempted proof section. You should see in the Pass Filter column two different numbers on the right side. Those numbers should reflect number of plots on each of your harvesters. It takes a couple of minutes or so to see that remote harvester, so don’t panic. If you do not see the other harvester there, now is the time to run telnet to check that 8447 port on your box #1. Or maybe first check your debug logs on both sides (whether box #2 complains that it connect to box #1, or box #1 is saying that it doesn’t want to accept such connection.

1 Like

@Jacek If all goes well:
Will box #1 (running the GUI) give me a full count of all plots from both computer #1 and computer #2?
Or will each box give me a count of only what its local harvester is managing?

Also, when the time comes that computer #2 should need a reboot, what must I start on computer #2.

On computer #1, all I have to do is start the GUI.
But on computer #2, I am not running the GUI. So I assume that there are a few “chia.exe blah blah blah” commands that need to be run on computer #2?

What are those commands?

Thanks, again. And great write-up – clear and on point!

Well, with your setup, you have one farmer and two harvesters, so each of those report what they see. UI on box #1 pulls all that info. In the Plot Count section, you will have the total as I think that is the farmer info (when it updates, but may be really slow). In the Last Attempted Proof section you see your harvesters, so each of those reporting what they have (this updates quickly - as soon as harvester #2 hits your farmer).

On your harvester you run it as it is described in #6 bullet on that page “chia start harvester -r”

By the way, box #2 doesn’t need blockchain / wallet db, so if it crashes, etc., no harm there.

1 Like