Slick Wallet for Bitcoin – Node Webkit in practice

As a developer, I have plenty of outside interests surrounding new technology. One of these major interests is Bitcoin, the cryptocurrency. I’ve written about Bitcoin several times so far on this blog, including why you should accept bitcoins on your e-commerce website and using the BitPay payment gateway to actually take payments with Bitcoin.

An interesting project I’d heard about recently is Node Webkit. Node Webkit is a freely available, open source tool that allows developers to create local desktop applications, using standard web technologies, such as HTML, CSS and JavaScript. It also has the advantage of being multi-platform, supporting Windows, Mac OS X and Linux.

As a personal project, I’ve recently decided to combine my interest in Bitcoin with my recent discovery of Node Webkit and begun to program a Bitcoin wallet application, which I’ve dubbed Slick Wallet. The focus is on simplicity for new users of Bitcoin, with the eventual aim being to make it a fantastic Bitcoin wallet for beginners.

Slick Wallet Technologies & Screenshots

The user interface of Slick Wallet makes use of the Bootstrap framework for most of its visual elements. It also makes use of HTML5 canvas, via a JavaScript library, to scan QR codes from a user’s web cam. Another JavaScript library is used to generate and display QR Codes.

Slick Wallet - Receiving bitcoins Slick Wallet - Sending bitcoins

From a development perspective, the vast majority of the ‘heavy lifting’ of dealing with the Bitcoin network is done via another component of the program I’ve written using Java (jslick). This acts as a hidden backend service that the Node Webkit component (nwslick) starts, stops and communicates with, allowing a lot of complexity to be abstracted away.

Slick Wallet is still in early development and it not quite ready for a full release. However, for more information about Slick Wallet or to help with the development, visit its current home at the Slick Wallet GitHub pages.