He's missed one thing though, which a lot of these small implmentations miss, its the code for chain re-org.
https://en.bitcoin.it/wiki/Chain_Reorganization
This is a crucial piece of code that figures out which chain is correct if 1 or more blocks arrive that have a greater proof of work than your current best chain.
But otherwise, a very good attempt.
Long, but accessible introduction. "The fastest way to learn how Blockchains work is to build one."