10 Best Bitcoin Wallets For Secure Bitcoin Storage

Posted by Harshad

10 Best Bitcoin Wallets For Secure Bitcoin Storage

10 Best Bitcoin Wallets For Secure Bitcoin Storage

Posted: 09 Apr 2014 08:01 AM PDT

We’ve talked about ways to get your hands on Bitcoin, as well as exchanges where you can buy and sell Bitcoin, so an overview of some of the more notable Bitcoin wallets out there is probably long overdue. Generally, Bitcoin wallets, despite the name, don’t actually store Bitcoins. Instead, wallets consist of two keys, a public key and a private key, that are used to associate particular Bitcoins with your wallet. The public key allows you to receive Bitcoins, while the private key allows you to spend Bitcoins.


As you might imagine, the security of your private key is incredibly important, lest someone gains access to your wallet and spend all the Bitcoins you’ve mined or traded for. Which wallet you choose depends on whether utmost security or increased convenience is more important, and it’s recommended that you don’t stick to one particular type of wallet. Here’s a list of 10 different wallets for secure Bitcoin storage.

1. Bitcoin Core

Bitcoin Core is the original Bitcoin wallet, originally developed by Satoshi Nakamoto and continually updated by the core Bitcoin development team. While it doesn’t have the advanced features of Armory or the social aspect of Hive, Bitcoin Core is probably the most scrutinized and worked-on wallet out there, making it a trustworthy choice.

Bitcoin Core

One thing to be aware of is the fact that Bitcoin Core is a fully fledged node of the Bitcoin network. So it requires the entire blockchain to run. Bitcoin Core is available on Windows, Linux and Mac, and is also available as a Ubuntu PPA.

2. Multibit

Multibit is a lightweight software wallet. As with most software wallets, Multibit encrypts your private keys locally (or on a USB stick). One useful characteristic of Multibit is that it doesn’t need to download the entire blockchain to access, send and receive funds. Multibit connects directly to the Bitcoin network and downloads only a small part of the blockchain, making it very fast to use.


Since Multibit doesn’t download the entire blockchain, it also takes up a lot less space on your hard drive, which can be important in some situations. Multibit has also been translated into more than 35 languages and is available on Windows, Mac and Linux.

3. Electrum

Electrum is another lightweight Bitcoin wallet in the vein of Multibit. Electrum supports deterministic wallets or, in other words, generating multiple wallets from one seed. It also lets you sign and create transactions offline and export what it calls a "root public key", which lets compatible applications monitor your wallet. You can also import and export private keys from other Bitcoin wallets.


Like Multibit, Electrum lets you perform Bitcoin transactions without having to download the entire blockchain, making transactions a lot faster. Electrum uses a network of servers to achieve this. Electrum is available for Windows, Mac, Linux and Android.

4. Hive

Hive is a Bitcoin wallet targeted at new users, with some interesting features. For one, Hive has an instant messaging style interface that lets you send and receive Bitcoins quickly and easily. It also has an integrated application platform and comes with some built-in apps that give you easy access to some of the more popular Bitcoin-related services available.


Hive even has an SPV backend to speed up starting time, as well as support for the Tor network for increased anonymity. You can also schedule wallet backups onto Dropbox and Time Machine. Hive is only available on Mac OS X, but is also coming to Android in the near future.

5. Armory

Armory is one of the most feature-rich and secure software Bitcoin wallets available today. Armory offers three different user modes: Standard, Advanced and Developer. Some of it’s security features include a graphical keyboard to protect against keyloggers, support for deterministic wallets, offline transactions and extensive cold storage options, including fragmented paper wallets.


Offline transactions significantly increase your wallet’s security and protects it from most security risks. It requires the official Bitcoin Core wallet, since Armory doesn’t have any networking features. Armory is available on Windows, Mac and Linux. It’s also available as a Ubuntu PPA.

6. Blockchain Wallet

Blockchain’s wallet has a few interesting security features designed to overcome some of the security risks inherent in online wallets. For example, Blockchain implements client-side AES encryption, protecting your wallet from a server side hack. It also has support for offline transactions, a double encryption feature and two factor authentification.

Blockchain Wallet

Blockchain not only lets you back your wallet up automatically onto Google Drive or Dropbox, but also lets you download your wallet manually. Blockchain also performs regular off-site server side backups every hour. There’s even a mobile wallet version of Blockchain for Android.

7. Coinbase

Coinbase is an online Bitcoin account, somewhat similar to PayPal. Coinbase also has a built-in Bitcoin exchange where you can buy and sell Bitcoin, and lets you send and receive money directly to and from email addresses. Coinbase is a centralized operation and stores all its Bitcoins on-site, but claims to store 85% of its Bitcoins in offline cold storage.


There are potential security and trust issues with Coinbase, especially since its operators have control over all Bitcoins, but the fact that it’s been heavily backed by prominent venture capital firms makes it less likely that Coinbase will run away with users’ Bitcoins. There is also a Coinbase Android app.

8. Coinkite

Coinkite is somewhat similar to Coinbase, in that it provides plenty of Bitcoin-related services such as Bitcoin debit cards and payment terminals alongside an online wallet feature. Coinkite uses BIP32 Heirarchical Deterministic (HD) wallets, which are stored in a custom Hardware Security Module (HSM) that is apparently isolated from the Internet. You can even request audit reports from Coinkite.


In the case of closure or failure, Coinkite has promised that it will publicize a symmetric key that contains all the extended private keys that have been distributed to Coinkite users. This will allow users to reclaim their funds from Coinkite, if the service shuts down.

9. BitAddress Paper Wallet

BitAddress is a web service that generates randomized public and private keys that you can use to receive, spend and store your Bitcoin. The big appeal of BitAddress is that it can create paper wallets. Paper wallets are a particularly secure form of cold storage, since the private key is only stored on a piece of paper and not on the Internet or in any form of software.

BitAddress Paper Wallet

Bear in mind that you’ll have to import your private key into some form of digital wallet, if you want to perform transactions. Thus, it’s probably best to use a paper wallet as a complementary form of Bitcoin storage alongside a software or online wallet.

10. Pi-Wallet

Pi-Wallet is currently the only commercially available hardware Bitcoin wallet. The Pi-Wallet is basically a Raspberry Pi running a software Bitcoin wallet, namely Armory. As such, it has all of Armory’s features in addition to a few perks that only a hardware wallet of this type can provide. For instance, the Pi-Wallet doesn’t have direct Internet access, adding another layer of protection.


The Pi-Wallet is also portable, and as it’s built on a Raspberry Pi that makes it much less susceptible to viruses and trojans that can be used to steal Bitcoin from your average Windows computer. The site also has instructions on building your own Pi-Wallet.

Using Kit Language in Windows and Linux

Posted: 09 Apr 2014 06:01 AM PDT

In the previous post, we have discussed about Kit, a very simple HTML templating language. If you had been following this, you should find that the GUI application which is capable of compiling Kit into browser-compliant HTML format is Codekit.

Unfortunately, Codekit, is only available for OS X, there is currently no similar application for Windows and Linux that support Kit.

If you are working in Windows and Linux machine, yet would like to use Kit, you can use Grunt as an alternative. Grunt has a massive collection of plugins, contributed by generous developers around the world — this includes the plugin to compile Kit language, grunt-codekit. Let’s check it out.

Note: Even though the following tip is primarily aimed to show Windows and Linux users an alternative to Codekit, OS X user can also use it.

Getting Started

First, we will create a directory for our project. Let’s launch Terminal or Command Prompt, and type the following command lines:

 mkdir kit-grunt cd kit-grunt 

We have created a new directory named kit-grunt; the second line lets us enter it. But if you have previously created a project directory, you may skip the first line, and immediately navigate to your own directory in Terminal with the cd command.

Within the project directory, we create a new folder named kit where we will put the .kit files. Type this command below:

 mkdir kit 

We then also install both Grunt and the plugin, with these commands. Note that you have to install Node.js in your system first.

 npm install grunt --save-dev npm install grunt-codekit --save-dev 

Once the process is completed you will find a new folder, node_modules, containing the modules that we have installed.


Create a new file named Gruntfile.js in the project directory, and put the following code in. This code is a Grunt Wrapper where we will register, configure and execute Grunt task. If you are using Sublime Text, you can easily insert this code using the Grunt Snippets.

 module.exports = function(grunt) { grunt.initConfig({ }); } 

Then we define the codekit task within the grunt.initConfig, like so.

 module.exports = function(grunt) { grunt.initConfig({ codekit: { your_target: { files : { 'index.html' : 'kit/index.kit', } }, }, }); } 

This configuration will compile index.kit into index.html. To try this out, we can add this in index.kit.

 <!-- @var = This is the variable --> <p><!-- @var --></p> 

…and run grunt codekit in Terminal.

The index.html is successfully generated and as you can see below, the variable’s value is also successfully applied within the paragraph tag.

File Inclusion

As we have mentioned in our previous post, we can include/import files into a Kit file. Given that we have header.kit, sidebar.kit, and footer.kit (I assume that we have added corresponding content within these files), we can include them into index.kit, like so.

 <!-- @include inc/header.kit --> <div class="container"> <div class="header row"> <h1>This is the header</h1> </div> <div class="row"> <div class="col-md-8"> <p>This is the content</p> </div> <!-- @include inc/sidebar.kit --> </div> </div> <!-- @include inc/footer.kit --> 

Let’s run the grunt codekit command again in Terminal. And here we go! The content from those files are put together into index.html. Nice!


Grunt is a great alternative to many web development tools, including compiling Kit file. I hope this tip is useful, particularly for Windows and Linux users who want to get their hands on Kit language.

Smoother Number Transitioning With Odometer

Posted: 09 Apr 2014 03:01 AM PDT

One of the effective ways to make a presentation of numerical information more interesting is by adding a transition animation. Creating a transition animation can be done with javascript, but the coding will take you a long time. For a quicker alternative, try Odometer.

Odometer is a javascript plugin that can help you make your numerical information more attractive with smooth transitions and cool themes. It’s easy to set up and is supported on many current browsers.


Odometer is a standalone javascript plugin. You only have to include the js file and its theme in your page with the following code:

 <link rel="stylesheet" href="odometer-theme-car.css" /> <script type="text/javascript" src="odometer.js"></script> 

You’re done! Now any element that you wrap with the odometer class will be transformed into an odometer.

In this example, I’m using a car-like odometer theme. Odometer comes with six other different themes, namely the default theme, digital, minimal, plaza, slot machine and train station themes. You can head over to the demo page to see them in action.

To update the value, you can use either native javascript or a jQuery code. First, call the setTimeout function, then define the updated value like in the following snippet:

 <script> setTimeout(function(){ odometer.innerHTML = 5555; }, 1000); </script> 

Or you can use a jQuery form like so:

 setTimeout(function(){ $('.odometer').html(5555); }, 1000); 

The value of 1000 in the code means the update process will be executed one second after the page has fully loaded.

Then, add an odometer class to any element you want, for example:

 <p class="odometer">3252</p> 

And the value of 3252 will then be changed to 5555 (as defined earlier) with a cool transition.


For more advanced features, Odometer provides you with some options to customize. This is useful when the default setting doesn’t suit you. To be able to set options, first create an odometerOptions object like so:

 <script> window.odometerOptions = { format: '(ddd).dd' }; </script> 

The format option will affect the number formatting rule, like showing a decimal point before certain digits. (ddd) means there is no decimal point in the number. And for other options, check out the following list:

 window.odometerOptions = { auto: false, // Don't automatically initialize everything with class 'odometer' selector: '.my-numbers', // Change the selector used to automatically find things to be animated format: '(,ddd).dd', // Change how digit groups are formatted, and how many digits are shown after the decimal point duration: 3000, // Change how long the javascript expects the CSS animation to take theme: 'car', // Specify the theme (if you have more than one theme css file on the page) animation: 'count' // Count is a simpler animation method which just increments the value, // use it when you're looking for something more subtle. }; 


For those who often present numerical information and would like to make it more eye-catching, Odometer is a good choice. Just take note that if you input anything other than a number, the plugin won’t work. Anyway, do give it a try and let us know what you think!

How To Speed Up Your Android Chrome Browser [QuickTip]

Posted: 08 Apr 2014 10:01 PM PDT

When you’re using the Android version of Google Chrome, you probably have experienced the time when Chrome takes way too much time to load, or crashes frequently, or acts sluggish when scrolling.

If you are used to Chrome and don’t want to opt for another browser for all your online needs, here is a quicktip to speed up your Android Chrome browser. Using this tip will significantly improve your scrolling experience and it will reduce frame rate drops.

Speed Up Your Chrome Browser

Start by opening the Chrome browser app on your Android. Go to the address bar. Type Chrome://Flagsin the address bar and then press Enter.

Chrome Flags

You will be redirected to the Chrome://Flags settings page. Next, look for the flag called “Maximum tiles for interest area Mac, Windows, Linux, Chrome OS, Android”.

Maximum tiles

Tap on default and choose 512 from the drop-down. If your device has less than 512 RAM, its best that you choose anything below that figure to prevent Chrome from taking over all of your device’s memory.

Choose 512

Tap on the relaunch button at the bottom and you’re done.

If you want to go back to the default settings, head back to the Chrome://flags page and “Maximum tiles for interest area Mac, Windows, Linux, Chrome OS, Android” then choose default. Relaunch your Chrome browser for the effect to take place.