I still have not figured out remote/distributed harvesters and have a few machines running full nodes. More machines than should be doing that. So the synching is an issue. I had a machine that was sitting and not synching for a while. I tried adding other full nodes that were fully synched through “connect to other peers” button, and it synched up in a minute. I wonder if connecting all the machines together can keep the out of synch problem at bay…
I have also been adding the “official” introducers (list below), but that did not work as quickly as having a fully synched local machine connected. I only normally add the introducer closer to me.
North Asia introducer-apne.chia.net:8444
South Asia introducer-apse.chia.net:8444
Western North America: introducer-or.chia.net:8444 2
Eastern North America introducer-va.chia.net:8444
You know what leads to problems, not in theory, but in practice? Figuring out how to do the distributed harvestesting on Windows with the gui while also trying to pump out as many plots as one can. Keeping track of 10 machines by looking at logs is a lot more difficult than looking at gui progress bars and statuses. You end up not farming half of your plots because of a misconfigured certificate or worse. 10 machines have no trouble being full nodes – especially if they share amongst themselves. Once I finish building all the machines i can take some and do a proper harvesting network, but as you might have noticed, the time is not on our side.
I don’t want to run CLI – I want to see what’s happening and I want the ease of configuration. If I wanted to run CLI i’d be doing this in Linux, but I don’t have the time to mess with drivers for NVME cards.
CLI sucks are providing feedback, which right now is kind of impotant. From entering your passphrase into a new machine to seeing what state the plots are at any given moment everything becomes a hassle and a distraction. To run a farm gui-less you need to have a pretty good mental picture of everything that is happening, which config file goes where, what logs you should be looking at. Down to the inconvinience of having to change the folder of the executable in the path variable it’s all a huge drag. In any case, individual nodes do synch very fast when connected to each other.
What feedback are you looking for? The logs from the CLI plotting are quite extensive… here’s a log from my (shockingly fast) i9-9900ks for example. What about this log is not feedback-y enough for you, specifically?
c drive (samsung 970 pro), 4t/16gb k32, i9-9900ks → 17559s
Not as frustrating as your failure to be useful to me or to the people who might be reading this when facing the same problems. Thank you for letting me know of my options, I found this a little tautological, but enligtning nevertheless.
To answer your questions, I have read Farming on many machines · Chia-Network/chia-blockchain Wiki · GitHub , I spent several hours trying to understand it and implement it, but in the end I still don’t understand it and I failed to implement it correctly. I know that having 10 full nodes is not “recommended” and I know how to use the CLI. I’m working off the same data as you are, but I’m not just repeating what’s written everywhere or telling people what’s easy. I write about the experience that I’ve had and the possible solution that worked for me.
Are steps in “farming on many machines” article not enough? You bet’cher whatever it is that you have they are not enough. They are also too much. This is one confusing set of instructions.
Look at this diagram. It’s enough to make my head explode. Are “other network peers” also harvesters? What is CA? There are dozens of various certificates in the config file – which ones are these? What are they used for? Which ones should be shared? Is main machine also a harvester?
Now look at this and count the steps. 17. There are 17 steps here. I have 10 machines. Do you think I can do these 17 steps correctly? And know that I did it right?
Shut down Chia on main computer
Find your IP address on computer
Make a copy of your main machine CA directory located in c:\users\(your user name)\.chia\mainnet\config\ssl - copy the CA file; you can share the ssl/ca directory on a network drive, USB key, or do a network copy to each harvester. You must copy the new ssl/ca directory with each version of chia-blockchain– copy the CA file to the harvester machine – know its location
In new Harvester - follow steps below
Load Chia and use your regular 24 word mnemonic key to see that it works. Then shut down Chia
In c:\users(your user name).chia\mainnet\config file-- open it with notepad
Change enable_upnp: true-- change that to false
Locate harvester: farmer_peer: host: localhost-- change only this location-- type in your main pc ip address (ex 192.192.x.x)
Locate the CA folder you copied from main computer-- know its network location.
Go to command prompt. Type in or copy cd C:\Users(your username)\AppData\Local\Chia->Blockchain\app-1.1.1\resources\app.asar.unpacked\daemon
Make sure the (app-1.1.1) is the current version-- this is when version 1.1.1 is active
Run chia init -c [directory] on your harvester, where [directory] is the copy of your main machine CA directory and its network location. This command creates a new certificate signed by your main machine’s CA.
[directory] this is where you type the link to where your CA folder is stored-- if on the c drive then type for example c:\ca. The full line would look like chia init -c c:\ca
Then press enter. Once that process is complete *Start both your main pc and the new harvester
The new harvester may take a 10-20 minutes to start the sync procees- it will be a little bit slower- but should start to sync and will make a full copy of the blockchain to get to normal sync. You can create plots on that machine or copy plots over. It will only farm once full sync is completed.
I would like to set up a centralized harvesting system so that I could see in one place how many plots I have and what my time to win is and to cut down on network traffic and wasted cpu and ram. But to do that I’d need to figure out the following:
How to implement this in a scripted way to make deploying and updating this on 10 machines easy.
How to check that it’s all done correctly
How to aggregate logs from 10 machines
How to keep a gui frontend that would only run plotting – this part is completely unclear to me: it seems that there’s no way to turn off the wallet and the full node, but only to keep the plotter and the harvester
How to make sure that all the machines see each other, that a version update does not break anything, etc.
My takeaway that I was willing to share with those who are as befuddled by this as me is to say this: it is possible to run full nodes on 10 machines on the same network, nothing horrible happens, and you can greatly speed up machines that are out of synch by connecting them to each other throught the gui “connect to other peer” (not all of them together, of course). This is not ideal, but right now the name of the game is do what you can and optimize later.