# Fast Full Node Syncing

## What is a bootstrap and why you need it for full node

{% hint style="danger" %}
Always close down your full node wallet completely before changing/editing any files or folders within your Zelcash data directory. Data can be corrupted if files are edited with wallet open, including lose of your local wallet.dat copy. **BACK UP, BACK UP, BACK UP!**
{% endhint %}

* The bootstrap file contains most of the current blockchain data in a downloadable zip file. You can use this data with your full node to more quickly sync your full node.
* This method is much faster because you do not need to download every block over the p2p node network, which can take many hours or days depending on internet speed.
* A full reindex of the chain data is needed for ZelNodes as you need to have `txindex=1` in your zelcash.conf file, which requires a complete re-download of the chain data
* **Copy/paste the bootstrap folder into your data directory AFTER ZelCore/Swing forces a reindex so you don't end up reindexing twice with the `txindex=1`parameter being added to the zelcash.conf file.**

## **Bootstrap Process**

#### Download the bootstrap zip file (txindex is enabled which is needed for ZelNodes).

Link: [Download Bootstrap file (\~ 2.1 GB, June 20, 2019)](https://zelcore.io/zelcashbootstraptxindex.zip)

#### Unzip the bootstrap. There will be two folders, `blocks` and `chainstate`.

#### Navigate to your \Zelcash data directory

{% hint style="info" %}
**Windows:** C:\Users\YOURUSERNAME\AppData\Roaming\Zelcash\
**MacOS:** \~/Library/Application Support/zelcash\
**Linux:** \~/.zelcash/
{% endhint %}

#### Copy the two bootstrap folders and paste into your \Zelcash data directory. Overwrite the current `blocks` and `chainstate` folders if necessary.

#### Launch the full node wallet. You will see that the `height` and `headers` are already about 250,000 getting you much closer to current block height, saving many hours of syncing.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://zel.gitbook.io/zelcore/fast-full-node-syncing.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
