I decided to have another look into blockchain - this time by building one. I found this excellent medium article - https://medium.com/@vanflymen/learn-blockchains-by-building-one-117428612f46 which goes through the process of building one in Python. The blockchain that I built is available here - I’ve added some instructions about how to use it using HTTPie. It was super fun to build and it solidified my understanding of blockchains quite a bit.

I’ve also found a similar resource for building blockchains in Go (https://github.com/Jeiwan/blockchain_go). I’m pretty sure I’ll work through this in the future as I’ve been looking for a Go project.

For an extra bit of fun, I generated a valid Bitcoin address using pycoin:

import qrcode
from pycoin.symbols.btc import network

key = network.keys.bip32_seed(b"craiglmccarthy")
print(key.address())
img = qrcode.make(key.address())
img.save("craiglmccarthy_qr.jpg")
1Aaqx87nkHg42WsTMR5kNXPBnNrHp1sGXr