While crypto-currencies are having bad time financially these days, it obviously has inspired and spun up a lot of applications. Blockchain and proof-of-work are fundamental concepts for the buzz that surrounds crypto-currency. While I see many people discussing the applications and possibilities, the serious lack of understanding among common developers prompted me to do a "Blockchain for dummies" implementation. So here it is:
Here are the goals I've tried to achieve:
- Wanted to show clear separation between proof-of-work and actual chain itself.
- For proof-of-work I selected floating numbers and hex string matching. Rather than having random string generation or something complicated it allows a simpler implementation that won't irritate your eyes but still shows the difficulty you can achieve.
- For blockchain I stored everything in memory again for simplicity.
- No comments! If code can't explain itself I would call it useless.
- Use everything builtin (no external packages), because you don't need anything else!
I would be more than happy to improve it based upon feedback. Let me know what you think!