Sync Status

At regular intervals, the wallet will 'ping' the server and request the latest block data. When the wallet has up to date information, it will simply show the current block height.

But when it detects that it is behind, it will switch to "synchronization mode".

💡

Your transparent funds do not need full synchronization.

If you want to abort synchronization, simply close and rerun the app.

Synchronization Mode

Synchronization mode is either "Rescan" or "Catchup". There is a small difference. Rescan means that there was no prior state and the wallet is synchronizing from the start. "Catchup" is when the wallet processes the recent blocks that it doesn't have yet.

In Synchronization Mode, the wallet displays a progress bar and a progress indicator inside of it.

You can cycle through various status reports by tapping on the indicator.

  • Current block / Latest block
  • % complete
  • Number of blocks left to process
  • Time of latest block processed
  • Estimated remaining time
  • Number of bytes downloaded from the server
  • Number of note decryptions

Warp Sync

Ywallet uses the "Warp Sync" algorithm. Unlike other Zcash synchronization methods, Warp Sync works in chunks of blocks.

A chunk contains several blocks. A block may contain several transactions. A transaction may contain several inputs/outputs.

Warp Sync downloads a (large) group of inputs/ouputs before it processes them. Therefore, there will not be visible process for some time. That's expected as it means the wallet is collecting data from the server.

Once it has a chunk, it will pass it down to the decrypter and note management stages. At the same time, it will download the next chunk.

Downloading and processing are carried out in parallel. But the "pipeline" has to get work.

💡

The synchronization may take some time to start up because the wallet may have to download a lot of blocks from the server.

Other synchronization methods work with small chunks and therefore report progress more frequently. But overall, Warp Sync is usually significantly faster.

Automatic Catchup

Normally, the wallet will check the server every 10-15 seconds. But if it notices that it is far behind (more than one month), it will pause the automatic catchup.

This lets the user take manual action. They can resume the synchronization, choose to recover from a backup or rescan from a different height.