Building a Blockchain with Go - Refactor and Proof of Work - Part 2