Would you like to setup an Ethereum node, but you wonder how much time it will take to get it synchronized? Or maybe you have started the process of synchronizing an Ethereum node already, and you wonder how much time is left of the process? These are brilliant questions, and here I will try to give you lots of insights that will help you understand more about the process, and about how much time might be left for you!
There are different ways and methods to setup an Ethereum node. If you have a computer at home, you can try to run an Ethereum node from this device, or you can even use a Raspberry Pi for the same process. You can also rent a VPS somewhere online and use this as an Ethereum node. There are many ways and solutions, and here I will give you some basic insight on the topic!
Fast synchronizing your Ethereum node
Most people use Go Ethereum (GETH) to run their Ethereum nodes. By default, you will use the fast-sync option, which is a good solution for those who want to get started quickly. But, even though it is supposed to be a fast process, it will still take quite a lot of time. But, how much time it will take depends on factors such as broadband speed, CPU, memory, hard drive speed, and more. First of all, forget about everything that is not SSD. If you try to sync a node on a normal HDD, you will not succeed. Hopefully, you knew about this before you started syncing on a HDD.
When the syncing process has started, you can see images such as these describing the process that is taking place:
There are two important parts of the process. First, you are doing the block sync. This requires a lot of CPU, and is a demanding process for the system. When this is finished, you will start what is called state trie download. The latter is more time demanding for most people, and during this process, there will normally be a gap between 60-120 between the current block and the highest block (check image above). But, while it remains like that, you will see the knownStates and the pulledStates numbers go higher and higher. As of October 2020, the image above shows the state just before it was 100% finished syncing. But, with time, this number will only increase and turn higher and higher, which results in the syncing process itself taking a longer period of time.
How to check the status of the Ethereum node syncing?
If you are running it with Geth on an Ubuntu system, simple run the Geth Attach command and type web3.eth.syncing. You will then see an image like the one shown above. You can check the newest block on ethstats.net (which should be similar to what you see on highest block when you check the syncing process).
What is the current number of known states for Ethereum nodes?
If you check the number above, the number shows 621 447 561. This is close to finishing now. This number also depends a bit on how many times the system has been restarted during the syncing process, so you should be finished (as of October 2020) when this number goes about 600 000 000 and 700 000 000 somewhere.
How long time will it take to sync my Ethereum Node?
Let us return to the initial question of this article. How much time will it take to sync an Ethereum node? Once again, it will depend on your connection speed and other details. Here I will give a few examples that will help you understand!
Syncing an Ethereum node with a Raspberry Pi
You will find a beautiful setup guide for running an Ethereum node on a Rapsberry Pi right here. In the article, the author says that the node was fully up and running in exactly 4 days. Running with the exact same Raspberry Pi and a good internet connection, I have experience setting up a node in approximately 10 days. Since the hardware was exactly the same, the Internet connection speed might have influenced the process, but no matter what, as of October 2020, I would say that syncing an Ethereum node on a Raspberry Pi 4 with 4gb RAM, and a 500 GB Samsung SSD hard drive, should be somewhere between 7 days and 10 days! But once again, your Internet speed will also influence this heavily!
Syncing an Ethereum node on a VPS
There are incredible differences between the different VPS providers. First of all, you should get a VPS with 400 GB of SSD hard-drive space, 6-8 CPU cores, 16 GB memory, and 1000 GB bandwidth per month (or more). There are many VPS providers giving you packages with 320 GB SSD disk space, but that will be troublesome, because you will most likely outgrow that disk capacity in a few months, and then you will have to purchase a way more expensive package (mostly).
Here are some experiences with syncing an Ethereum node on different VPS providers:
Linode – www.linode.com
With Linode, you should buy one of the following packages. If you purchase the cheaper version, you will soon get trouble with the disk space.
But, if you have fixed your Ethereum node and started the process of syncing the node, then you will most likely be finished with the block syncing in 6-8 hours, and then get finished with the state syncing in another 16-20 hours. In other words, this can all happen within 24 hours!
However, you should take into consideration that you will quickly be forced to pay 160 USD per month for running this node, which is quite costly.
VPSServer – www.vpsserver.com
This is not a very famous VPS provider, but based on my experience, this is by far the best when it comes to pricing. Here they are so nice to give you 400 GB of SSD drive space for the “typical” 80 USD per month, which should be more than enough to keep your node running for a while.
The pricing is the best here, and it should give VPSServer a big advantage compared to Linode and also Vultr (to be mentioned next in the article). But, when it comes to the syncing process, you will need some more patience with VPSServer. My personal experience is that it took me approximately 32 hours to fully sync my Ethereum node using the given package for my Ethereum node. But, once it is up and running, this is way cheaper and better than the other solutions.
Vultr – www.vultr.com
Vultr is very similar to Linode, meaning that their price setup is exactly the same. This leads to the same problem, meaning that you will quickly outgrow your 320 GB SSD drive, which will take you to the next level that will cost the double price each month.
When you have started the process of syncing on your Vultr VPS, you will, however, enjoy awesome speeds, and I managed to fully sync my node with everything included in less than 24 hours. If you are in a hurry, this is a brilliant solution. But, if you want to save some money in the long run and don’t mind waiting half a day more for the syncing process to finish, then I would once again say that VPSServer.com (mentioned above) should help you more!
What about other VPS providers?
I have used a different VPS provider as well (a local one in central Europe). The setup should be completely fine, 6 CPU, 16 GB memory, 340 GB SSD hard drive, but after 9 days, the node still hasn’t been synced. As a result, there will be wide differences between the different VPS providers, so you better choose a good one, if not, you might end up pulling your hair all out before the syncing is finished!
Do you have any experience with any VPS provider for syncing your Ethereum node? Do you have any questions related to syncing your Ethereum node? Feel write to write what is on your heart in the comment field.
If you are already running an Ethereum node then you should read more about Strongblock, a crypto-project working to reward node owners for their important work.