What happens during the syncing process and why do I have to wait for a full sync to be able to farm?

Alright, this is how I understand it:

When you first install Chia, or when you (re)start Chia, the software needs to download and process the decentralized blockchain. It does this by requesting bits of the blockchain from other people running the software.

To be able to sync efficiently (without it taking a very long time to start syncing) you need to have port 8444 open so that other Chia instances can connect and give you the parts that you are missing. Some more info here:

And:

The very first time you start the Chia software, ALL of the blockchain needs to be synced. This takes a long time when doing it from scratch. I’ve seen reports from 6 to 24 hours and for some people even longer.

If you go to your “Full Node” tab check if it says “syncing” like this:

If it says “Not synced” there in red, then you’re not getting (enough) connections from nodes that have parts of the blockchain that you are missing.

Ideally, it should say, in green, “Synced” like so:

This is when your plots turn from “syncing” to “Farming”. You can not farm when the blockchain is not synced. I am not exactly sure why that is but for some reason you’re required to have the full blockchain on your computer before farming starts.

I hope that some other people can chime in here with some answers though, I have some questions that I don’t know about:

  • What is the average time most people would be able to do a full sync in? I’ve seen reports that vary wildly, but is there a common time period that people can expect to see?
  • What happens if I can’t open port 8444? I know there’s introducers and eventually my node syncs just fine, though it might take a little longer. However, does this affect my chances of finding a block?
  • Why do we need the full blockchain before farming can start? Is it a technical limitation or is it an incentive to participate fully in the network?
  • When syncing, I see quite a bit of CPU usage, what is my PC calculating for those incoming blocks? Is it doing a validity check for example?

Anyway, hope this helps your understanding and I hope to learn a bit more myself.

4 Likes