Ethereum Tutorial: Ethereum & Smart Contracts from Scratch
4.5 (39 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
407 students enrolled

Ethereum Tutorial: Ethereum & Smart Contracts from Scratch

Create your own version of Ethereum! Create a project with smart contracts, a blockchain, cryptocurrency, and more!
4.5 (39 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
407 students enrolled
Created by David Joseph Katz
Last updated 10/2019
English
English [Auto]
Current price: $139.99 Original price: $199.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 10 hours on-demand video
  • 4 articles
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • 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.
Course content
Expand all 62 lectures 10:15:45
+ Smart Contracts - Building a Language
8 lectures 01:06:14
[Required] Project Repository and Node.js
00:38
Subtract, Multiply, and Divide
09:21
Comparisons and Logic
08:21
Jumps
09:42
Argument Validations
11:06
Jest Test the Interpreter
23:37
Summary: Smart Contracts - Building a Language
00:46
+ The Blockchain
12 lectures 01:55:34
Overview: the Blockchain
02:37
Blockchain, Blocks, and the Genesis Block
11:36
Util and Sort Characters
07:43
Hashing Overview and Keccak Hash
08:38
Mining: An Ethereum-based Implementation
05:29
MineBlock - Block Target Hash
15:19
MineBlock - Under Target Hash
14:23
Test the mineBlock method
09:00
MineBlock - Adjust Difficulty
15:16
Validate Blocks
09:58
Test the validateBlock method
15:07
Summary: The Blockchain
00:28
+ The Blockchain Network
7 lectures 01:03:30
Overview: the Blockchain Network
01:06
Private Application and API
16:22
Pub/sub - Server-to-server Communication | Overview
03:46
PubNub
12:27
BroadcastBlock and Peers
15:12
Peer Synchronization
14:08
Summary: the Blockchain Network
00:29
+ Accounts and Transactions
10 lectures 01:44:26
Overview: Accounts and Transactions
01:37
Accounts Part 1: Fields
09:38
Accounts Part 2: Signing and Verifying Signatures
09:58
Transactions
15:19
Validate Transactions
15:45
Transaction Queue and the Application Account
07:48
Transact Endpoint and API Test Script
17:53
Broadcast Transactions
11:24
Block TransactionSeries
14:25
Summary: Accounts and Transactions
00:39
+ World State and Running Blocks of Transactions
12 lectures 02:20:31
Overview: World State and Running Blocks of Transactions
03:27
Tries
14:46
Tries - Bug Fix
01:07
Test the Trie class and Get Copies
17:25
State and the StateTrie
07:07
Run Blocks and Transactions
18:02
Get Balance and World State
16:13
TransactionSeries Validations
12:13
Test the updated Transaction Validation Methods
14:44
The Transactions Trie
16:01
Mining Reward
18:34
Summary: World State and Running Blocks of Transactions
00:52
+ Smart Contracts in the Decentralized Computer
6 lectures 01:14:37
Overview: Smart Contracts in the Decentralized Computer
02:39
Smart Contracts Accounts in State
14:50
Run the Interpreter on Smart Contract Execution
10:42
Smart Contract Gas
24:37
Account Storage
21:22
Summary: Smart Contracts in the Decentralized Computer
00:27
+ Optional Reference Section Including JavaScript Overview
2 lectures 26:13
Optional: Mega JavaScript & Node.js Overview for JS Newcomers | Part 1
16:26
Optional: Mega JavaScript & Node.js Overview for JS Newcomers | Part 2
09:47
+ Conclusion
2 lectures 06:14
Congratulations and Ways to Extend the Project
05:16
Bonus Lecture
00:58
Requirements
  • Experience coding: familiarity with a command line and code editor.
  • A good amount of experience in at least one language. Preferably JavaScript. This course is best for intermediate students.
  • If you're a beginner, it would be wise to take an introduction to JavaScript course beforehand or simultaneously.
Description

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:

  1. Build a smart contract language and an interpreter to execute code.

  2. Next, create an ethereum-inspired blockchain, with its own mining implementation, and block structures.

  3. Extend the blockchain with a network implementation.

  4. Incorporate transactions and accounts. This will set up the Ethereum-like cryptocurrency, and create the concept of a decentralized computer.

  5. 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.