Accelerating Blockchain Node Synchronization with Blockops
Introduction
In a conventional blockchain, in order to have a new node join a network you will have to start by downloading all the previous blocks. So if you start one year after the network launch, you will have to download a year’s worth of previous blocks in order to actually rebuild the current state of the blockchain.
Blockops data services take a different approach and allow new nodes or nodes that have been offline for a long time to catch up with the network by downloading the most updated states from snapshots thus reducing the blockchain download time to a constant.
In this post, we will look at node synchronization and lay out a high-level architecture of our data service.
We are working to open-source our scripts so that we may share our knowledge and help the community as a whole. We hope you find it useful.
Node Synchronisation
For a node to work, it needs to download a copy of the blockchain data and synchronize it with the network. There are two ways for a node to get a copy of the necessary Blockchain data.
- When setting up a new sentry, validator, or full node server you can start syncing from the genesis block and continue pulling blocks until the latest block written to the Blockchain is reached.
- A node can join a network from a “snapshot”, which contains the recent snapshot of the network state, without needing to pull and process the individual blocks.
Using the first approach can take a long time for a node to sync with all the blocks already committed to the network. Nodes that join a network this way can take a week to download all the blocks from the network.
When setting up a validator, or full node it is recommended that you use a snapshot for faster syncing without having to sync over the network. Using snapshots will save you several days.
Blockops Data Services
Our snapshot service has three components. Here we briefly introduce each component
- The snapshot node: This node is always fully synchronized, although it can be stopped briefly to take a node snapshot or reset to state sync. We make use of a cron schedule to take a daily snapshot and upload it to the file storage.
- The file storage: We use AWS S3 storage to host all snapshots.
- The web client: This is the site that our end users directly interact with. It communicates with the file storage to retrieve the snapshot information.
Sync from snapshot
You can significantly accelerate your node synchronization process by downloading the recent snapshot of the network state. For the latest snapshot, please visit Blockops Data Services.
Currently, we provide snapshots of our supported networks in RocksDb formats. These snapshots are updated daily to enable fast syncing of your blockchain data from anywhere in the world.
Conclusion
We are continuously working on bringing support for more and more protocols and extending the scope of our services for our users. Feel free to go through our docs, or to reach out to us.
Blockops’ objective is to support all blockchain teams throughout the world by providing crucial infrastructure so they may focus on their primary business. Teams who use our Data service may sync nodes quicker and be ready for their users’ dApps in minutes by utilizing Blockops experience in infrastructure.
You can access the Blockops Data service feature here data.blockops.network
Key Resources
- Documentation: docs.blockops.network
- API Status Page: status.blockops.network
- Data Services Page: data.blockops.network
About Blockops Network
Blockops provide an ecosystem of scalable blockchain node infrastructure for businesses to build and scale blockchain products fast and seamlessly. We provide dedicated blockchain node service, developer tools, and public RPCs for chains on Polkadot as well as run and maintain validator nodes for customers.