Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Development Tools No-Code Development
Business
Entrepreneurship Communications Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certification Network & Security Hardware Operating Systems Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design Design Thinking 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition Yoga Mental Health Dieting Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Teacher Training Test Prep Other Teaching & Academics
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Cisco CCNA Amazon AWS AWS Certified Developer - Associate CompTIA Security+
Graphic Design Photoshop Adobe Illustrator Drawing Digital Painting InDesign Character Design Canva Figure Drawing
Life Coach Training Neuro-Linguistic Programming Mindfulness Personal Development Personal Transformation Life Purpose Meditation Emotional Intelligence Neuroscience
Web Development JavaScript React CSS Angular PHP WordPress Node.Js Python
Google Flutter Android Development iOS Development Swift React Native Dart Programming Language Mobile Development Kotlin SwiftUI
Digital Marketing Google Ads (Adwords) Social Media Marketing Google Ads (AdWords) Certification Marketing Strategy Internet Marketing YouTube Marketing Email Marketing Retargeting
SQL Microsoft Power BI Tableau Business Analysis Business Intelligence MySQL Data Analysis Data Modeling Big Data
Business Fundamentals Entrepreneurship Fundamentals Business Strategy Online Business Business Plan Startup Blogging Freelancing Home Business
Unity Game Development Fundamentals Unreal Engine C# 3D Game Development C++ 2D Game Development Unreal Engine Blueprints Blender
30-Day Money-Back Guarantee
Development Software Engineering Ethereum

Ethereum Tutorial: Ethereum & Smart Contracts from Scratch

Create your own version of Ethereum! Create a project with smart contracts, a blockchain, cryptocurrency, and more!
Rating: 4.5 out of 54.5 (55 ratings)
552 students
Created by David Joseph Katz
Last updated 10/2019
English
English [Auto]
30-Day Money-Back Guarantee

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

9 sections • 62 lectures • 10h 15m total length

  • Preview04:52
  • Preview13:01
  • [Required] Succeeding in this Course and Reference to a JavaScript Overview
    00:32

  • Preview02:43
  • [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

  • 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

  • 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

  • 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

  • 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

  • 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: 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

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

Featured review

Eriza Fazli
Eriza Fazli
5 courses
2 reviews
Rating: 5.0 out of 5a year ago
David, just wanted to thank you for the course. For me there's no way better to understand the mechanics of blockchain, ethereum, smart contracts etc. than to actually code them from scratch, and at the moment your course is one of the best, if not the only one, that is available in the market. I followed along in my own environment, and enjoyed every single milestone achieved along the way. Thanks again!!

Instructor

David Joseph Katz
Software Engineer
David Joseph Katz
  • 4.4 Instructor Rating
  • 25,720 Reviews
  • 242,092 Students
  • 19 Courses

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.

  • Udemy for Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Terms
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Featured courses
Udemy
© 2021 Udemy, Inc.