What is a bootstrap?

A bootstrap is a packaged copy of the blockchain like a snapshot, however it will still require your wallet to validate each block.  This is preferrable because it doesn't require your wallet to trust the source of the snapshot (if you didn't make your own).  The bootstrap method is faster than a standard resync and uses less bandwidth, but it does still take some time and causes high CPU usage while it is validating the blocks.



How do you use a bootstrap?

If you just want to attempt to get your client up to speed and on the right chain, I am providing a bootstrap data file below. This is NOT a snapshot! Using this bootstrap will still require the wallet client to verify and validate all of the data contained within, which is the blockchain up to block 910000 in sequential order without any orphans.

Steps to use the bootstrap:

  1. Stop/shutdown your wallet client if it is running.
  2. Navigate to your PIVX data directory as shown here
  3. Delete ONLY the 4 folders and 2 files shown below (blocks, chainstate, sporks, zerocoin, banlist.dat, and peers.dat) folders from your data directory.
    (Do NOT delete backups or wallet.dat)
  4. Download the latest bootstrap from here
  5. Extract the bootstrap zip file you just downloaded and you will see a file called "bootstrap.dat"
  6. Place the "bootstrap.dat" file in your data directory
  7. Start your wallet client.
    (demonstration)


When your wallet client starts up, you will notice that it begins processing the blocks contained within the bootstrap.dat file. This can be verified when using the GUI wallet as it will say (in the bottom left) "Importing blocks from disk"



Linux Command line steps

(Oneliner available here)



Navigate to the PIVX data directory

pi@barry:~ $ cd ~/.pivx
pi@barry:~/.pivx $


Remove ONLY the blocks, chainstate, sporks, and zerocoin folders and the banlist.dat and peers.dat files

pi@barry:~/.pivx $ rm -r blocks
pi@barry:~/.pivx $ rm -r chainstate
pi@barry:~/.pivx $ rm -r sporks
pi@barry:~/.pivx $ rm -r zerocoin
pi@barry:~/.pivx $ rm peers.dat
pi@barry:~/.pivx $ rm banlist.dat


Download the bootstrap (Make sure to get the latest bootstrap from the link in step 4 above)

pi@barry:~/.pivx $ wget https://github.com/PIVX-Project/PIVX/releases/download/v3.1.0.2/pivx-chain-1168000-bootstrap.dat.zip

...


Saving to: ‘pivx-chain-1168000-bootstrap.dat.zip’

pivx-chain-1168000-bootstrap.dat.zip 100%[=====================>]  387.58M  9.71MB/s   in 3.2s

2017-10-07 20:32:26 (9.19 MB/s) - ‘pivx-chain-1168000-bootstrap.dat.zip’ saved                                      [31019051/31019051]


Unzip the bootstrap file

pi@barry:~/.pivx $ unzip pivx-chain-1168000-bootstrap.dat.zip


Remove the bootstrap zip file (optional)

pi@barry:~/.pivx $ rm pivx-chain-1168000-bootstrap.dat.zip


Navigate back home and start the client.  Your path to the binaries may be different

pi@barry:~/.pivx $ cd ~
pi@barry:~ $ pivx-3.1.0/bin/pivxd -daemon
PIVX server starting


You can use pivx-cli getinfo to check on the status, but be aware it will say it is importing blocks for a long time (especially on a raspberry pi)




Related links:

Where is my data directory?

Is there a blockchain snapshot I can download?

What is the difference between a snapshot and a bootstrap?