Recently in building a transaction from scratch, I learned a few nuances about Bitcoin that have been abstracted for me through wallet clients. I was (and am still) happy with treating Desktop, Mobile, and Hardware wallets like any other bank account — receiving and sending as needed without regard for the underlying accounting and cryptography.

Our goal in this article is to walk-through the creation of 2 wallet accounts, crafting a transaction from the 1st to the 2nd with the javascript library asserting itself as the “backbone for almost all Bitcoin web wallets in production today”.


BitcoinJS is a good…

If you’re an aspiring full-stack javascript developer, might I suggest putting down the books and video tutorials to apply some of your newfound knowledge at periodic intervals.

This past year, I made a conscious effort to publish packages to NPM — the largest javascript package manager. The first, horoscope, is by far my favorite — not for it’s functionality, but for how much I have used it to learn.

Horoscope consists of just two methods, one which converts birthdays to astrological signs and one which converts a year to it’s corresponding chinese zodiac animal. When I needed this functionality for…

Oh Tinder, you mean such different things for such different people. At various crossroads in my life you have served as a tool to fight boredom, and find the occasional date. Lately, you’ve been something else— giving me a sizeable, unique data set to pursue some research on in my free time. This article explains how it was carried out, and basic statistics about the data set.


I used newly created Tinder accounts from two friends (thanks Rob and Lea!), as well as my own account. To properly scrape the data, I was able to prep the accounts by:

  • setting…

If you’re not familiar with NPM, at some point it used to stand for Node Package Manager. With over 250,000 open sources packages to install, it is by far the most pervasive package manager. If you’re not already using it when it developing with javascript/node.js, you should highly consider starting.

Today we’re going to look at building a command line application for you to use internally, or publish for others to use as well. I recently published one on NPM to log my IP address on the local network. …

Best practice in test driven development (TDD) dictates the test are written first, and then functions are written to pass the tests. If written correctly, they should pass as soon as your functions are working.

The benefit of this approach is that changes made later on are just an ‘npm test’ or ‘node yourTestFile.js’ away from checking if they broke anything.


Tape is one of the simplest testing libraries (technically called a ‘harness’), but still endorsed by well-known figures in the JavaScript ecosystem (see Why I Use Tape).

We’ll be using Tape for this example, so if you’re following along…

Well, you’re in luck. As web developers, we’ve got a set of skills that increasingly can be applied to a variety of mediums.

One of those mediums is the desktop — software in the classic sense of the word. Formerly known as Atom Shell (the foundation of Github’s own text editor), Electron is a framework to ‘build cross platform desktop apps with web technologies’.

Like most frameworks, at first it might seem daunting to get started, especially if you’re particularly new to javascript/node. For beginners & pros alike, the best way to learn Electron is to download the electron-quickstart repo…


Front End Developer • @UCSanDiego/@Codesmith Alum • Blockchain Enthusiast • Southern California Native

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store