Consolidating old Bitcoin Core Wallets

Recently I started digging through old backups to find some coins that people were telling me they were sending but to addresses that weren’t in my wallets anymore. I discovered I had dozens – or even more (i’m discovering more all the time).


  • Hash all wallets that are found in iCloud, DropBox, Google Drive, and other backups so that we can save time loading duplicates (when searching backups for wallets, you’ll often end up with hundreds or thousands of duplicates.
  • Upgrade all old wallet files.
  • Create an encrypted drive containing all of the wallet.dat files for backup purposes.
  • Import private keys from all wallets into bitcoin core’s latest version so that they are all in one master wallet file.
  • Import private keys from all wallets into electrum, in one master keyfile.

Hashing All Wallets

Since many backups will contain identical wallet files, we will first start by renaming all wallet.dat files to an md5 checksum of their content. This will prevent issues with accidentally overwriting a wallet.dat if one has many wallet.dat files. The chances of two md5 hashes being identical are very very low, so unless you’re messing with satoshi’s 1 million bitcoins, probably safe enough for de-duplication of identical wallets.

This is done very simple on osx with the following commands:

spikes-MacBook:~ spike$ md5 wallet.dat
MD5 (wallet.dat) = fdf25759f1c6d450a0f8425284867a3d
spikes-MacBook:~ spike$ mv wallet.dat fdf25759f1c6d450a0f8425284867a3d.wallet.dat

Importing and Upgrading all wallet files

First, we will start by installing the latest bitcoin daemon. Once that’s done, we will create a wallets directory, and put all of our wallets there (since the file names are dependant upon the md5 hash, we can safely overwrite whenever there are two files with the same name – they are both identical).

Within ~/.bitcoin/bitcoin.conf (you can create this if it doesn’t already exist), let’s add a couple of configuration options:


This is going to tell bitcoind to run in the background and to use the listed wallet file. You can list as many wallet files as you like (there are potentially limits of around 300 wallets at once).

Now we start bitcoind and give it some time to sync the blockchain. Now we will have all wallets in the same version of bitcoind and we can start to dump the private keys and then import them all into one new fresh wallet.

Step 1) Create a new wallet:

Step 2) Dump Private keys from each of the wallets we earlier imported.

Step 3) Import private keys from each of the wallets we earlier exported.

Spring Cleaning for online presence

In the past few years I have been targeted more and more by people trying to get into online accounts. As such I’ve been going through and doing some ‘spring cleaning.’

  • Go through KeyPass and update all important passwords (be sure to generate unique passwords, websites frequently get hacked, if you use the same password everywhere then this is a very easy attack vector).
  • Ensure that you are using Authy type 2-Factor Authentication, never SMS.
  • Check DropBox, Amazon S3, iCloud, Google Drive, Amazon Drive, etc and consolidate all information onto one service.
    • Ensure that all sensitive files are encrypted.
    • Ensure all important files are being backed up.
    • Reduce duplicates and clutter by conslidating.

Voip Provider Review Followup

So after a few months I’ve narrowed down the voip providers I use to the following:

I’m using for all my US based DID’s. So far it works really well. It also supports SMS which is a great added plus.


I’m using flowroute for outgoing domestic calls.

While has great rates as well as DID’s from all over the world (and lax verification on if you’re actually a resident of such places) it doesn’t scale well. I use it for one dutch number, but when trying to add multiple numbers, I haven way within Asterisk to differentiate between the DID’s coming in over the same trunk. has good outgoing call quality and prices, so I’m using it for all my international call routings.

Encrypted Simplicity

With TrueCrypt’s recent issues I have once again redone the way I handle encryption, replication, and backup.


For encryption I am using encfs (installed via home-brew). This is fast, efficient, secure, file based encryption (so it works well for syncing).


For syncing I am using BtSync. It is free, open source, multi-platform, and works well.

~/Documents/ – Non-secure syncing of the documents folder on all my machines.

~/.crypt/ – Secure (enfs) encrypted files directory.

~/iPhone-photos/ – Unencrypted iPhone photos (sync’d whenever phone is on wifi – i prefer this over apple’s iCloud photo sync).

~/.ssh/ – Syncing password encrypted ssh private (and public) key pairs.


Using the Time Backup utility of Synology NAS I backup my documents, ssh, and encrypted files hourly to an external USB drive, maintaining many historical versions of each file incase something bad happens.

I also have traded BtSync read-only keys with a few friends to increase the number of copies of each file that is available in the BtSync cloud, this provides redundancy as well as speed in syncing.


Using ssh-add -K <path> in OS X I have managed to automate authentication to most of my remote servers.

Back to iCloud for email

After a few months of messing around with various mail solutions (iRedMail, hosting my own osx server, open bad mail server, citadel, Zohomail, etc) I have decided its just too much work and am going back to OS X. I have decided that instead of finding a better way to manage all the e-mail I receive that I am going to start aggressively reducing the number of emails I get. No more mailing lists, unsubscribing from all newsletters, etc. E-mail is just not an adequate way of communication any longer because it’s overwhelming. For all communications that occur regularly via email I am going to request we migrate the conversation to Skype chat or via one of the other messaging services (if necessary, encrypted with OTR).

Over the month of June, I received an average of 182 emails a day, I hope to get this to 20 or less over the coming months.

Search for VoiP Provider…

Communicating while traveling can be difficult and expensive. In order to alleviate some of the headaches, I setup an Asterisk PBX at home to route calls using hard and soft VoiP phones. Recently I migrated from having a dedicated machine at home for this to using the DIgium Asterisk package on a Synology NAS unit.

The first task is to figure out which VoiP provider is going to work.

What’s needed:

  • Ability to receive and place up to 3 calls simultaneously.
  • Easy, high quality international calling (both incoming and outgoing).
  • Support numbers forwarding to multiple support ‘agents’ so that someone can always answer.
  • Ability to forward a primary numbers to multiple extensions or outside lines. (i.e. from one US number to a variety of international prepaid sims without any additional configuration – i.e. handle no longer functioning phones automatically).
  • Incoming US and Dutch phone numbers.


I have been using FlowRoute for some time no as my outgoing provider. They provide good quality calls and I’ve never had an issue with them. However their trunks for incoming lines are priced at $17/month, which I find to be preventative from considering them as a serious solution. I would like the ability to handle 2-3 calls at a time once in a blue moon, but am not going to pay for that capacity all the time at such a high rate. I still do recumbent them for outgoing calls, where a incoming trunk is not necessary.


CallCentric is one of the main reasons this search has even begun – they discontinued their free incoming DID service which I was previously using. I’m not so interested in CallCentric at this time because when I was using their free DID service, the calls were often poor quality and network often lagged. I also do not find their pricing model to be very attractive.

In my search for VoiP providers I started by trying one that I had tried to use about a year ago, but am still unable to add credit even after having a hold put on my registration when I registered way back when (I was trying to top up using paypal, for their minimum amount, $25). So now to just wait for them to contact me and verify me again (last time this process took days).


I cannot get my asterisk server to tie into DIDLogic correctly.


IPKall has been giving away free incoming DID’s for a long time now. This is a very simple and easy to use service with decent quality (considering its free). Its not a good business solution, but figured I would mention it as I have used it for a while and never had any issues with it. It is also great for testing things out, or if you need a ‘burn’ number (i.e. a number just for a few days).


LocalPhone seemed very promising at first, however I have run into problems with them. They don’t transmit the DID number, but rather your account number to the asterisk server. As such asterisk cannot differentiate between different DID numbers on a single account. To alleviate this I created a second account and added a DID to it. However upon adding that second trunk to asterisk things started to get messed up. When a call comes in on LocalPhone2 it is still picked up by inbound call rules of LocalPhone1. I believe this is because of the insecure=very option that LocalPhone requires in order to function.

In addition to the above problem, for some reason one of the phone numbers on my local phone account is forwarding to someone who I have no idea is – and i didn’t set it up that way.

OS X Server for email and contact sync

I have now been using OS X Servers + iRedMail on an old mac mini I had kicking around to handle my e-mail services. So far so good.

Some key points:

  • Unlike iCloud, unlimited server side email filters can be setup within iRedMail and these rules can be far more complex than iCloud allows.
  • Push e-mail works on the inbox and inbox only.
  • Contact, Calendar, and notes all sync without issue.

So far no issues whatsoever.


iCloud Max 99 Mail Rule Filters?!

So for the past year or so I’ve been using iCloud’s mail as my primary email. I enjoy using’s server side mail filtering (so that I don’t have to have a computer running the mail app in order to ensure my mail is filtered), today I hit the limit of 99 mail rules.

Not sure what i’m going to do…Guess a home brew mail server solution may be in the works.

Screen Shot 2014-01-03 at 2.01.25 PM

Privacy in 2014

For 2014 I’ve decided that I’m going to be much more security conscious.


A couple years ago in search of better push support on iDevices (eg iPhone), I switched from my self-hosted exchange solution to iCloud for all my email. I now have all my email addresses forwarded to iCloud.


  • E-mail is all stored (forever?) on Apple’s servers.
  • The Spam filtering sucks.
  • ‘Private’ e-mails are coming over iCloud and being archived with all my other mail (I archive my general mail).


  • Host e-mail on self-hosted (mac mini) Apple OSX Server. (All current e-mail will be forwarded).
  • PGP on all iDevices and laptops/computers.
  • S/MIME on all iDevices and laptops/computers.
  • (todo) Spam Filtering (potentially with DSPAM).
  • (todo) Setup a small encrypted mail server (Dovecot + postfix + DSPAM

Sync and Backup

Between photos, music, desktop backgrounds, application preferences, etc there is lots of stuff that needs to be sync’d these days. In the past I used a combination of many things including iCloud, DropBox, and bittorrentsync.


  • DropBox has size limitations (with free version…).
  • DropBox and iCloud are centralized.
  • Important files need to be backed up with some sort of versioning incase something is accidentally deleted or corrupted.
  • Sensitive files need to be encrypted and backed up.


  • iCloud sync for all non-sensitive application data (for any apps that support it).
  • BTSync for everything else.
    • Important and Sensitive documents will also be backed up to Synology NAS unit that does versioning incase of accidents. This also provides a fast mirror of all content.
    • Large aperture library will also be backed up to the NAS using BTSync.
    • Sensitive data encrypted with EncFS then Sync’d and backed up using BTSync.
    • Desktop backgrounds sync with BTSync.
  • Music and TV is stored on the Synology NAS and streamed via Subsonic (music), Plex (TV/Music), and Synology’s Audio/Video stations.
  • KyPass Companion (stored in iCloud) for syncing KeePass password database. (This also integrates with google chrome, I use it instead of google chrome’s password manager).


Best Practices:

  • Use a password manager, separate passwords for everything.
  • Use strong passwords (since you’re using a password manager, this shouldn’t make any difference when logging in since you’re not typing passwords anyways).
  • Downloads, Files in work, etc all go into sync’d directories now. Nothing should only be stored locally.
  • Media (Music/TV) should all be streamed, no more storing content locally.
  • Use PGP or SMIME as often as possible. Be careful with private keys (I store them in a TrueCrypt volume to make it easy to share between machines).
  • Do a clean install of OS X every now and again. Do it even more frequently if you’re downloading random stuff.

Finally discontinuing use of dropbox.

So after a few years of using DropBox to sync stuff between my computers I’ve finally fully replaced it with BitorrentSync. Over the past few months I’ve been slowly moving everything from cloud based services to self-hosted solutions for privacy reasons. BTSync works just as good as DropBox does (even better in some capacities), doesn’t have any size restrictions, and of course isn’t centralized.

One thing that should be noted is that TrueCrypt encrypted partitions don’t work as well on BTSync (though did they ever work that well on DropBox either?) so I suggest going with EncFS (or if you want an easier to setup solution, check out BoxCryptor).

I’ve also started more heavily relying upon iCloud Sync for anything that’s not important.