I'm one of those who use nothing but default, official wallets, with full nodes synced to my computer. I don't want to spend the time to understand all the alternative wallets and how they claim to be more functional, lightweight, secure etc. Then spending countless hours verifying to see if they're telling the truth, and then even if they do, there can be bugs that were never introduced (look at the super trusted parity.io multisig wallet disaster!).
But this is adding major weight on my expensive SSD's, just BTC/ETH/LTC datachain combined to ~150G worth of space, I needed to move the chaindata else where. Having checked the documentation, this is fairly simple to do, for instance Ethereum you would do something like --node-datadir='d:/ethereum/chaindata' --node-keystore='d:/ethereum/chaindata/keystore' or something similar, and this is probably different for all other clients, but I stopped checking and figured there must be a simpler way for the non-nerds.
So today I'm going to share with you a very simple yet effective way to store your wallet files, and this general method applies to all currencies in any wallet.
This setup is assuming you're under windows operating system.
The solution is pretty simple, use junction command like so "mklink /j" and store your bulky chaindata file to an external drive, and keep it offline most of the time unless you need to do a transaction or need to sync to the latest nodes. If you want to spend a hundred bucks on a hardware wallet that's fine, but this is a cheaper and fairly secure alternative method. Since most hacks occur online, if your keys are offline, hackers will have no way to access them. In an extreme case say if someone broke into your house and stole your drive, chances are they would have no idea what to do w it, plus you can always keep the drive in a safe or something ;) So how do you do this?
Using Bitcoin for example, the data is located at C:\Users\Justin\AppData\Roaming\Bitcoin where all the chaindata and wallet file are stored in. Follow these 3 simple steps,
- Copy the entire Bitcoin folder to the external drive
- Delete the Bitcoin folder in the your C:\ drive make sure you back up the wallet.dat file under root
- Launch a command prompt, type in mklink /j C:\Users\Justin\AppData\Roaming\Bitcoin D:\Bitcoin
(modify the path according to your system)
Similarly, for Ethereum, you would go to C:\Users\Justin\AppData\Roaming\Ethereum
- Copy the entire Ethereum folder to an external drive
- Delete Ethereum folder in your C:\ drive make sure you back up the private key under keystore folder
- Launch a command prompt, type in mklink /j C:\Users\Justin\AppData\Roaming\Ethereum D:\Ethereum
(modify the path according to your system)
That's it, now when you launch your wallet, say Bitcoin core, it'll start syncing to the latest nodes into your D:\ drive. The benefits of doing this is that, your keys are actually stored in a drive that's not connected to the internet all the time, so you're less prone to attacks from malware etc, another obvious benefit is that you don't need to take up your expensive SSDs in your main system.
What I normally do is, just before I go to sleep I'd connect the external drive, launch all my wallet applications and let them auto sync to the latest nodes. I don't necessary do this everyday, since I don't need to do transactions this frequently, but it's become a habit and how often you sync is entirely up to you.
The aforementioned backups of private keys, I usually zip them in a password secured file and store it in an extra secure cloud storage, I use securesafe.com but this step is again entirely up to you.
Hope this helps!!
BTC: 17UinPft3hCYzJK8aB2BTjrRd2JZkd96kd
ETH: 0x4c0c2FAc7360D5CbE6bD30C9c36CEB7Ce91Aa3C8
LTC: LYeu321o4MRvDZ3iGSnwSmJvtsNaePn55x