Upgrading the Chia db from v1 to v2 CAN be a very simple process. 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 three different ways:
cd c:\Users\%USERNAME%\AppData\Local\chia-blockchain\a*\resources\app.asar.unpacked\daemon\
chia db upgrade
in CLI. full_node:
section from database_path: db/blockchain_v1_CHALLENGE.sqlite
to database_path: db/blockchain_v2_CHALLENGE.sqlite
. There are two prerequisites for upgrading the Chia db the easy way.
For further reference, see https://github.com/Chia-Network/chia-blockchain/wiki/FAQ#what-is-the-new-database.
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.
C:\Users\%USERNAME%\.chia\mainnet\db
and delete blockchain_v1_mainnet.sqlite
full_node:
section from database_path: db/blockchain_v1_CHALLENGE.sqlite
to database_path: db/blockchain_v2_CHALLENGE.sqlite
chia stop all
cd c:\Users\%USERNAME%\AppData\Local\chia-blockchain\a*\resources\app.asar.unpacked\daemon\
chia db upgrade
full_node:
section from database_path: db/blockchain_v1_CHALLENGE.sqlite
to database_path: db/blockchain_v2_CHALLENGE.sqlite
chia start farmer -r
and wait for it to sync
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.
C:\Users\%USERPROFILE%\Appdata\Local\Temp
to the new drive, e.g. D:\chiaDB\
chia db upgrade
, remove the blockchain_v2_mainnet.sqlite that was created in your target folder.chia db upgrade
after you are done, don't forget to set back your temporary folder back to your original folder!
It is also possible to farm without running a full node locally. Using the hooks that already exist in Chia 1.3+, we created the SpaceFarmer Community Node to allow farmers that cannot run their own node to continue farming.