Ethereum Tutorial: Ethereum & Smart Contracts from Scratch
What you'll learn
- Updated for 2022-2023: Learn how to build an Ethereum-like decentralized computing platform from an engineer with 5+ years of industry experience.
- How to build Ethereum from scratch.
- The essential elements of the Ethereum decentralized computing platform.
- The mechanics behind Ethereum's cryptocurrency.
- How to create a blockchain, Ethereum style.
- Experience coding: familiarity with a command line and code editor.
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!
Who this course is for:
- Anyone who wants to build a smart-contract based system.
- Ethereum enthusiasts aiming to understand the platform from a code perspective.
- Blockchain developers who'd like to learn about the fundamentals behind Ethereum.
- Rising developers looking for a unique project to add to their resume.
- Entrepreneurs looking for the foundation for their next smart-contract based solution.
- Bitcoin enthusiasts wanting to learn more about the cryptocurrency landscape.
- Coders who want to expand their horizons by diving into blockchain and cryptocurrency concepts.
David is a software engineer at Zendesk, with a Bachelor of Computer Science from the University of San Francisco.
David has gained valuable experience from the tech industry. By incorporating the best practices he has learned at work, he hopes to create the highest quality learning experiences possible.
Feel free to connect with David! He is always curious about the cool project you're working on. And he loves to discuss ideas on how to build impactful technology.