Yes, it is possible to load the blockchain binary data off to a bulk storage (HDD), while keeping the Index DB on performant storage (SSD).
The Bitcoin Blocks are stored in the blocks
subdirectory in your datadir
. The location of your datadir is either %AppData%\BitCoin
, or set manually by you during the installation of bitcoin-qt
.
I ASSUME you're using BitCoin Core (aka bitcoin-qt) on Windows 7 or higher, C:\ being your SSD, F:\ being your HDD, bot formated as NTFS. The location of datadir
is %AppData%\BitCoin\
.
Move %AppData%\BitCoin\blocks
to the HDD, e.g. to F:\BTC\blocks
OPTIONAL Move F:\BTC\blocks\index
back to the SSD: %AppData%\BitCoin\index
NOTE: The blocks folder must not exist in %AppData%\BitCoin now!
Open a cmd window by pressing WIN+R, then type cmd and click ok
Type/Paste mklink /J %AppData%\BitCoin\blocks F:\BTC\blocks
and hit ENTER. (This creates a NTFS Junction, creating a link in %AppData%\Bitcoin called blocks, pointing to the existing F:\BTC\blocks folder on the HDD)
OPTIONAL Type/Paste mklink /J F:\BTC\blocks\index %AppData%\BitCoin\index
and hit ENTER (Create new link at F:\BTC\blocks\index pointing to existing %AppData%\BitCoin\index)
Now, the blocks directory is on the HDD for cheap bulk storage, while its index subdirectory and parent datadir is on the speedy SSD. Only binary blockchain data is stored on HDD.
About the index
directory (Steps 2, 4): As Pieter Wuille comments below, you don't really need to move the index
directory within blocks
back to SSD. But since it contains one of the databases, I figured it might help performance when starting up bitcoin-qt. [citation needed]
In my case, this Windows task manager shows read/write speeds 10 times higher than befode (20-30MB/s). Download speed did go up to 2-4MB/s (50MBit Internet), CPU load is up at 85%.
I didn't monitor blocks/second improvement, but the taskmanager values show better throughput of data, which should directly relate to more blocks per second. I synced 15 weeks of blockchain while writing this (30m), versus only 1 week before the modification!
The datadir without binary blockchain data is a little over 2GB, with 25 weeks worth of blockchain still missing. I'd recommend at least 5GB free space on the SSD for the currently 80GB big blockchain.