The most requested topic for a course I've had so far is to "build a smart contract blockchain and cryptocurrency." And for plenty of reasons:
Smart contracts are the main feature behind Ethereum, which is the second most valuable cryptocurrency.
Learning smart contracts is a natural next step after learning about blockchains. A blockchain is a decentralized ledger. A smart contract blockchain is a decentralized computer.
A smart contract blockchain can support decentralized applications. This opens the door to a wide variety of solutions.
Based on these points and more it would definitely be a valuable learning experience to try building a smart contract blockchain and cryptocurrency like Ethereum.
So it can be quite surprising to discover that existing tutorials are challenging to find. Sure, there's the Ethereum documentation. But this information is better understood when you're pretty knowledgeable about blockchains already. Likewise, other resources you find, like articles and videos, mostly focus on aspects of a completed Ethereum system. They don't take you through the process of completely building a smart contract blockchain and cryptocurrency.
However, it's understandable. A complete system like Ethereum is quite complex. It uses many advanced data structures and technologies. And untangling the interaction between its many components can feel like navigating through a labyrinth.
This is why I made it my mission to create a "Build Ethereum From Scratch" tutorial that focuses on the essential elements. By the end of the tutorial, you should be able to execute smart contracts in a decentralized way.
And with a few months of work, here you have the finished product! Here is the course journey:
Build a smart contract language and an interpreter to execute code.
Next, create an ethereum-inspired blockchain, with its own mining implementation, and block structures.
Extend the blockchain with a network implementation.
Incorporate transactions and accounts. This will set up the Ethereum-like cryptocurrency, and create the concept of a decentralized computer.
Come full circle by running smart contracts on the blockchain.
By the end of the course, you will have built a decentralized computer platform that resembles many of the key features of Ethereum. In addition, at the end of the course, I'll provide a list that you can use for continued development. That way, the project is truly in your hands - ready to go as far as you want to take it.
Take this course if you want to learn how Ethereum works. Especially take this course if you've been hoping to build your own version of Ethereum. By the end, you'll have a unique item on your resume, or even the foundation for your next startup!
Alright, let's get started coding!