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.sqlitefull_node: section from database_path: db/blockchain_v1_CHALLENGE.sqlite to database_path: db/blockchain_v2_CHALLENGE.sqlitechia stop allcd c:\Users\%USERNAME%\AppData\Local\chia-blockchain\a*\resources\app.asar.unpacked\daemon\chia db upgradefull_node: section from database_path: db/blockchain_v1_CHALLENGE.sqlite to database_path: db/blockchain_v2_CHALLENGE.sqlitechia 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 upgradeafter 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.