Full nodes
There are two types of full node that use different mechanisms to sync up to the head of the chain:Snap (default)
Snap sync starts from a relatively recent block and syncs from there to the head of the chain, keeping only the most recent 128 block states in memory. Between the initial sync block and the 128 most recent blocks, the node stores occasional snapshots that can be used to rebuild any intermediate state “on-the-fly”. The difference between the snap-synced node and a full block-by-block synced node is that a snap synced node started from an initial checkpoint that was more recent than the genesis block. Snap sync is much faster than a full block-by-block sync from genesis. To start a node with snap sync pass--syncmode snap
at startup.

eth.syncing
- if this command returns false
then the node is in sync. If it returns anything other than false then syncing is still in progress.
The healing has to outpace the growth of the blockchain, otherwise the node will never catch up to the current state. There are some hardware factors that determine the speed of the state healing (speed of disk read/write and internet connection) and also the total gas used in each block (more gas means more changes to the state that have to be handled).
To summarize, snap sync progresses in the following sequence:
- download and verify headers
- download block bodies and receipts. In parallel, download raw state data and build state trie
- heal state trie to account for newly arriving data
--syncmode
value is not passed to the Parallax client at startup, it will use snap sync. A node that is started using snap will switch to block-by-block sync once it has caught up to the head of the chain.
Full
A full block-by-block sync generates the current state by executing every block starting from the genesis block. A full sync independently verifies block provenance as well as all state transitions by re-executing the transactions in the entire historical sequence of blocks. Only the most recent 128 block states are stored in a full node - older block states are pruned periodically and represented as a series of checkpoints from which any previous state can be regenerated on request. 128 blocks is about 10.7 minutes of history with a block time of 5 seconds. To create a full node pass--syncmode full
at startup.
Archive nodes
An archive node is a node that retains all historical data right back to genesis. There is no need to regenerate any data from checkpoints because all data is directly available in the node’s own storage. Archive nodes are therefore ideal for making fast queries about historical states. Archive nodes are created by configuring the Parallax client’s garbage collection so that old data is never deleted:prlx --syncmode full --gcmode archive
.
It is also possible to create a partial/recent archive node where the node was synced using snap but the state is never pruned. This creates an archive node that saves all state data from the point that the node first syncs. This is configured by starting the Parallax client with --syncmode snap --gcmode archive
.
Light nodes
A light node syncs very quickly and stores the bare minimum of blockchain data. Light nodes only process block headers, not entire blocks. This greatly reduces the computation time, storage and bandwidth required relative to a full node. This means light nodes are suitable for resource-constrained devices and can catch up to the head of the chain much faster when they are new or have been offline for a while. The trade-off is that light nodes rely heavily on data served by altruistic full nodes. A light client can be used to query data from Parallax and submit transactions, acting as a locally-hosted Parallax wallet. However, because they don’t keep local copies of the Parallax state, light nodes can’t validate blocks in the same way as full nodes - they receive a proof from the full node and verify it against their local header chain. To start a node in light mode, pass--syncmode light
. Be aware that full nodes serving light data are relatively scarce so light nodes can struggle to find peers.
Read more about light nodes on our LPS page.