Cheap and effective way to store your wallet data (BTC, ETH, LTC etc)steemCreated with Sketch.

in #bitcoin7 years ago (edited)

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,

  1. Copy the entire Bitcoin folder to the external drive
  2. Delete the Bitcoin folder in the your C:\ drive make sure you back up the wallet.dat file under root
  3. 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

  1. Copy the entire Ethereum folder to an external drive
  2. Delete Ethereum folder in your C:\ drive make sure you back up the private key under keystore folder
  3. 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

Sort:  

Why keep a local copy of the blockchain if you're not mining? There's no good reason to, just like there's no good reason to avoid using alternative wallets. If you can't be bothered to spend a few minutes researching alternative wallets, just run it offline on a bootable OS like Tails. You don't need to "spend countless hours" researching and verifying whether running MEW or some other offline client is secure.

I understand what you're saying, I actually used Electrum for bitcoin and Parity for Ethereum for a while. These light clients work, but the parity multisig wallet incident scared me, I can't risk my funds with wallets that claim to be secure but occasionally fail with zero liability of their clients. I went back to the official wallets, heavy weight, less functional, but always well tested and they require full node sync.

Again, requiring a full node sync doesn't add any value. It's completely pointless and wastes drive space. Just because something is less functional doesn't mean it doesn't have security vulnerabilities, and if security is your actual concern you should simply run whatever client you want offline. For most people, that's going to be MEW since it's very easy to use and set up offline. It's also going to be orders of magnitude more secure than using any wallet synced to the blockchain since that means it's an online wallet.