We built a blockchain

Over the past two years, after attending a talk hosted by Phil Gomes of Bloq, I’ve been slowly learning all I can about blockchain. The difference between a token and a coin, proof of work vs. proof of stake, and different ways it is going to change the way we exchange value and information in the future. The basics are pretty boring, but the applications are amazing. 

My son, an 8th grader/budding software engineer, ran into a challenge at his school last year that he knew an app could solve. He and his friends wanted to sell each other gum, candy, trading cards, etc., but the school doesn’t allow students to exchange money. This led to a free-for-all black market bartering system. He stepped into that gap and wrote a program that would become an electronic currency between him and his friends. These kids immediately jumped in and started “earning” and “spending” this new “currency” and a market was born.

Brilliant! However, it was insecure–there was no immutable ledger of transactions, and the only true safeguard was that his friends didn’t have the knowledge of Python necessary to exploit any loopholes.

My son wanted to create his own Cryptocurrency 

I’ve always learned better by doing, and have been trying to catch up with his Python skills for the past 6 months, so I jumped into research mode and found a few strong articles and resources. These were my favorite, as they were basic enough for beginners like me, but technical enough to give us a finished product:

LIfeHacker: How to Create Your Own Cryptocurrency   
Hackernoon: Learn Blockchains by Building One

How we did it: 

We repurposed my kids’ Kano computer kit into a fully functioning RaspberryPi running Raspbian (Linux).

Not everyone has one of these lying around–from a young age, my kids have been wanting to tinker with computers and learn how to program, so we bought them a Kano Computer kit back when they were still a Kickstarter campaign. After a few days of play, the little system was stuck in a box collecting dust. Until…the oldest wanted to try building a server to deploy some apps. The guts of the Kano kit are a RaspberryPi 3+, so all we had to do was load a new MicroSD card with Raspbian on it and we suddenly had a mini WIfi-enabled Linux box.

We followed the tutorials above

Huge thanks to Daniel van Flymen for writing out the step-by-step guide to building a blockchain. With a few minor tweaks by the 8th grade boy-genius, we were up and running.

We mined our first block!

It probably doesn’t look like much to the untrained eye, but this string of stuff in the image below is an actual blockchain, with multiple blocks, mined by my son. Shoot, if you are a legit blockchain developer it’s kindergarten, but we cheered!

What’s next? 

Create an easy to use front-end for his friends at school, so they can each have their own wallet of coins. Maybe start over and create an ERC-20 version and try an ICO. Hopefully not starting a little back of teenage crypto-bros. Either way, we’ll HODL!