User Tools

Site Tools


guides:farming:upgradedb

This is an old revision of the document!


How to Upgrade the Chia db

Upgrading the Chia db CAN be a very simple process. Simply download a version of chia above 1.3.0+ and run chia db upgrade in CLI.

There are two prerequisites for upgrading the Chia db the easy way.

  • enough space on the target directory
  • enough space on your temporary directory

However, the reason you are reading this guide is most probably because you want to learn how to upgrade AFTER your drive is full and you don't want to sync from scratch.

We will go through two different ways:

  1. download v2 from a trusted source and replace v1
  2. Using an external SSD

Download and replace

The advantage of this method is that it is easy and has minimal downtime. The trick is to download the db right after the snapshot, so your node needs to do minimal syncing to catch up with the latest blockheight. The downside is that you need to trust the source from which you download the snapshot.

  1. Stop all chia processes
  2. go to DIRECTORY
  3. delete the VERSION1DB
  4. download trusted v2
  5. edit config.yaml

Using an external SSD

  • stop all chia processes chia stop all
  • in CLI change directory to chia cd c:\Users\%USERNAME%\AppData\Local\chia-blockchain\a*\resources\app.asar.unpacked\daemon\
  • chia db upgrade
  • when done, chia start all and wait for it to sync

Error when TMP folder full

The method above doesn't work if your tMP folder (which is C:\Users\%USERPROFILE%\Appdata\Local\Temp by default on Windows) is on the full drive.

You will attempt to do so, you get a pop-up with the following window somewhere in the process:

Chia.exe - Delayed Write Failed
Windows was unable to save all the data for the file \chiaDB\blockchain_v2_mainnet.sqlite: the data has been lost. 
This error may be caused if the device has been removed or the media is write-protected.

And in the CLI you will find the following:

Conversion failed with error: disk I/O error. 
The target v2 database is left in place (possibily in an incomplete state) D:\<PathforDB>\blockchain_v2_mainnet.sqlite

If your failure was caused by a full disk, ensure the volumes of your temporary- and target directory have sufficient free space. 
Your temporary directory may be ''C:\Users\%USERNAME%\Appdata\Local\Temp''
you can specify the "TMP" environment variable to control the temporary directory to be used. 

The work-around for this is to change your temporary folder to the new SSD (temporarily), by configuring your accounts Environmental Variables.

  • Go to Settings and search: edit environmental variables for your account
  • Edit the TMP field and change from C:\Users\%USERPROFILE%\Appdata\Local\Temp to the new drive, e.g. D:\chiaDB\
  • In case you already used chia db upgrade, remove the blockchain_v2_mainnet.sqlite that was created in your target folder.
  • chia db upgrade
guides/farming/upgradedb.1652790843.txt.gz · Last modified: 2022/05/17 12:34 by vleesbanaan

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki