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 CompTIA Security+ AWS Certified Developer - Associate
Graphic Design Photoshop Adobe Illustrator Drawing Digital Painting InDesign Character Design Canva Figure Drawing
Life Coach Training Neuro-Linguistic Programming Personal Development Mindfulness Personal Transformation Meditation Life Purpose Coaching Emotional Intelligence
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 Data Cleaning
Business Fundamentals Entrepreneurship Fundamentals Business Strategy Online Business Business Plan Startup Freelancing Blogging 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

This course includes:

  • 24 hours on-demand video
  • 18 articles
  • Full lifetime access
  • Access on mobile and TV
Development Web Development Ethereum

Ethereum and Solidity: The Complete Developer's Guide

Use Ethereum, Solidity, and Smart Contracts to build production-ready apps based on the blockchain
Bestseller
Rating: 4.6 out of 54.6 (11,734 ratings)
52,023 students
Created by Stephen Grider
Last updated 1/2021
English
English [Auto], French [Auto], 
30-Day Money-Back Guarantee

What you'll learn

  • Understand the why engineers would want to create an app with Ethereum
  • Build compelling blockchain applications using the Ethereum Blockchain
  • Design, test, and deploy secure Smart Contracts
  • Learn the true purpose and capabilities of Ethereum and Solidity
  • Use the latest version of Ethereum development tools (Web3 v1.0)
  • See practical examples to comprehend what the blockchain and mining are
Curated for the Udemy for Business collection

Course content

9 sections • 251 lectures • 23h 58m total length

  • Preview03:44
  • Link to Completed Code on Github
    00:04
  • Join Our Community!
    00:07
  • Preview04:13
  • Link to Original Bitcoin White Paper
    00:07
  • What is Ethereum?
    Preview04:16
  • Interfacing with Ethereum Networks
    03:14
  • Metamask Setup
    05:24
  • Ethereum Accounts
    05:28
  • Receiving Ether
    03:34
  • What's a Transaction?
    07:43
  • Why'd We Wait?
    05:00
  • A Quick Note
    00:16
  • Basic Blockchains
    17:49
  • Block Time
    10:49
  • Smart Contracts
    06:55
  • The Solidity Programming Language
    05:03
  • Our First Contract
    05:41
  • Quick Note - Remix Deprecation Warnings
    00:21
  • Contract Structure
    05:39
  • Function Declarations
    08:59
  • Testing with Remix
    10:57
  • Redeploying Contracts
    02:34
  • Behind the Scenes of Deployment
    05:43
  • More on Running Functions Than You Want to Know
    14:15
  • Wei vs Ether
    04:07
  • Gas and Transactions
    11:24
  • Mnemonic Phrases
    11:28
  • Getting More Ether
    04:17

  • Don't Skip! Node JS Versioning
    00:16
  • Contract Deployment
    05:31
  • Boilerplate Requirements
    05:09
  • Project File Walkthrough
    04:32
  • Syntax Highlighters
    00:23
  • Solidity "AssertionError [ERR_ASSERTION]: Invalid callback specified" errors
    00:30
  • Compiling Solidity
    06:22
  • The Compile Script
    06:09
  • Testing Architecture
    03:48
  • Web3 Install Issues on Windows
    00:58
  • Installing Modules
    04:15
  • Web3 Versioning
    04:18
  • Web3 Providers
    04:47
  • Testing with Mocha
    18:16
  • Mocha Structure
    04:44
  • Fetching Accounts from Ganache
    06:43
  • Refactor to Async/Await
    02:39
  • Deployment with Web3
    06:11
  • Deployed Inbox Overview
    11:18
  • Asserting Deployment
    05:22
  • Web3 Version Fix
    00:49
  • Verifying the Initial Message
    08:25
  • Testing Message Updates
    06:24
  • Deployment with Infura
    06:57
  • Infura Signup
    04:18
  • Wallet Provider Setup
    06:40
  • Updated Deploy Code
    00:17
  • Deployment to Rinkeby
    07:21
  • Observing Deployment on Etherscan
    04:51
  • Deployed Contracts in Remix
    07:13
  • Project Review
    09:27

  • The Lottery Contract
    02:36
  • Lottery Design
    02:49
  • Basic Solidity Types
    09:43
  • Starting the Lottery Contract
    04:44
  • The Message Global Variable
    05:53
  • Overview of Arrays
    11:06
  • Overview of Mappings and Structs
    03:42
  • Big Solidity Gotcha
    06:28
  • Entering the Lottery
    03:57
  • Validation with Require Statements
    09:48
  • The Remix Debugger
    04:03
  • Pseudo Random Number Generator
    10:34
  • Selecting a Winner
    04:58
  • Sending Ether from Contracts
    05:08
  • Resetting Contract State
    04:07
  • Requiring Managers
    05:03
  • Function Modifiers
    06:18
  • Returning Players Array
    02:13
  • Contract Review
    02:51
  • New Test Setup
    03:04
  • Test Project Updates
    02:04
  • Test Helper Review
    04:33
  • Asserting Deployment
    02:54
  • Entering the Lottery
    06:27
  • Asserting Multiple Players
    02:39
  • Try-Catch Assertions
    05:57
  • Testing Function Modifiers
    03:29
  • End to End Test
    11:04

  • Ethereum App Architecture
    09:20
  • Application Overview
    07:56
  • Getting Started with Create-React-App
    02:36
  • Multiple Web3 Instances
    08:42
  • Web3 Setup
    06:10
  • Updated Deploy Code
    00:16
  • Deploying the Lottery Contract
    05:32
  • Local Contract Instances
    06:26
  • Rendering Contract Data
    07:04
  • Instance Properties
    01:58
  • Accessing More Properties
    05:33
  • The 'Enter' Form
    03:50
  • Form Setup
    06:47
  • Entering the Lottery
    06:35
  • Picking a Winner
    08:34
  • Project Review
    03:07

  • Solving Real Problems with Contracts
    06:01
  • Fixing Kickstarter's Issues
    07:48
  • Campaign Contract Design
    09:05
  • Campaign Constructor
    04:16
  • Contributing to the Campaign
    03:07
  • A Quick Test
    02:14
  • The Request Struct
    08:58
  • More on Function Modifiers
    05:15
  • Creating Struct Instances
    05:33
  • Instance Creation Syntax
    09:31
  • Storage and Memory
    06:27
  • More on Storage vs Memory
    16:23
  • Voting System Requirements
    02:49
  • The Wrong Voting System
    05:12
  • Issues with Arrays
    06:14
  • Mappings vs Arrays
    04:01
  • Basics of Mappings
    11:08
  • Refactoring to Mappings
    06:45
  • Refactoring Request Stucts
    02:15
  • More on Struct Initialization
    02:52
  • Approving a Request
    07:53
  • Testing Request Approvals
    05:22
  • Finalizing a Request
    07:24
  • Last Remix Test
    03:03
  • Thinking about Deployment
    09:46
  • Solution to Deployment
    06:33
  • Adding a Campaign Factory
    07:53
  • Testing the Factory
    03:27

  • Project Setup
    02:16
  • Directory Structure
    02:56
  • A Better Compile Script
    04:41
  • Single Run Compilation
    08:46
  • More on Compile
    06:20
  • Test File Setup
    08:21
  • Creating Campaign Instances
    10:19
  • Testing Warmup
    03:11
  • Accessing Mappings
    09:55
  • Requiring Minimum Contributinos
    03:13
  • Array Getters
    06:07
  • One End to End Test
    13:00
  • Deployment
    02:16
  • Updated Deploy Code
    00:16
  • Refactoring Deployment
    06:05

  • App Mockups
    11:05
  • CRA vs Next
    04:59
  • Next's Pages Architecture
    05:07
  • Basics of Next Routing
    04:51
  • Root Routes
    05:23
  • CampaignFactory Instance
    07:12
  • Getting a Test Campaign
    05:35
  • Fetching Deployed Campaigns
    06:27
  • Why Next.js, Anyways?
    09:50
  • Server vs Client Web3 Instances
    10:41
  • GetInitialProps Function
    10:14
  • Semantic UI React
    05:49
  • Card Group Setup
    06:42
  • Rendering Card Groups
    06:10
  • Adding CSS
    04:40
  • Adding a Button
    06:47
  • The Need for a Layout
    06:16
  • The Layout Component
    07:13
  • Assembling a Header
    07:35
  • Constraining Content Width
    04:28
  • Two Column Layout
    01:58
  • Nested Routing
    04:27
  • Final CSS Fix
    05:20
  • Form Creation
    04:31
  • Input Change Handlers
    06:20
  • Form Submittal
    05:58
  • Testing Submittal
    03:44
  • Form Error Handling
    12:49
  • Button Spinners
    06:56
  • Routing Issues
    03:13
  • Next Routes Setup
    10:54
  • Automatic Navigation
    04:43
  • Header Navigation
    05:52
  • Routing to Campaigns
    05:52
  • Restarting the Server
    00:05
  • Route Mappings
    07:01
  • Planning CampaignShow
    03:59
  • Redeploying CampaignFactory
    08:53
  • CampaignShow's GetInitialProps
    07:10
  • Accessing a Campaign
    08:03
  • Summary Translation Layer
    04:15
  • Custom Card Groups
    07:44
  • One Card Per Property
    04:38
  • The Contribute Form
    07:22
  • Grid Layouts
    04:07
  • Form State
    02:44
  • Communicating the Campaign Address
    04:24
  • Making a Contribution
    04:55
  • Refreshing Contract Data
    06:17
  • Spinners and Error Handlers
    04:56
  • Listing Requests
    06:29
  • Grids vs Columns
    03:36
  • More Routing!
    08:32
  • Request Creation Form
    10:35
  • Creating a Request
    09:51
  • Form Polish
    07:43
  • Creating a Request
    01:12
  • Requests One by One
    03:32
  • Fancy Javascript
    07:35
  • Small Typo!
    00:18
  • Rendering a Table
    03:22
  • Request Row Component
    06:17
  • Request Row Content
    07:23
  • Approvers Count Cell
    05:51
  • Approving a Request
    06:58
  • Finalizing Requests
    05:19
  • Testing Finalization
    02:33
  • Row Status Styling
    06:45
  • Finishing Requests Index
    02:30
  • Wrapup
    00:44

  • A Note on This Section
    00:10
  • Purpose of Boilerplate Projects
    03:41
  • Environment Setup
    01:45
  • Project Setup
    02:53
  • JSX
    11:29
  • More on JSX
    04:35
  • ES6 Import Statements
    03:58
  • ReactDOM vs React
    02:26
  • Component Instances
    03:38
  • Render Targets
    05:53
  • Component Structure
    06:26
  • Youtube Search API Signup
    06:39
  • Export Statements
    08:40
  • Class Based Components
    08:11
  • Handling User Events
    09:30
  • Introduction to State
    05:13
  • State Continued
    06:04
  • Controlled Components
    07:47
  • Breather and Review
    03:37
  • Youtube Search Response
    04:26
  • Refactoring Functional Components to Class Components
    07:43
  • Props
    07:42
  • Building Lists with Map
    07:06
  • List Item Keys
    03:54
  • Video List Items
    07:53
  • Detail Component and Template Strings
    07:05
  • Handling Null Props
    04:41
  • Video Selection
    11:39
  • Styling with CSS
    03:43
  • Searching for Videos
    07:51
  • Throttling Search Term Input
    05:46
  • React Wrapup
    05:24
  • Vue Flavored Version
    00:13

  • Bonus!
    00:14

Requirements

  • Basic Knowledge of Javascript and NPM
  • A Mac, PC, or Linux Machine

Description

Smart Contracts? They're here.  The Ethereum Blockchain?  Covered.  Solidity?  Yep!

There can be no understating it: Ethereum and Blockchain technology is the most disruptive force in years.  Companies cannot hire developers who understand blockchain technologies fast enough, but there are a tiny number of resources published to help you truly understand what blockchains are used for, let alone build apps with them.  That's the purpose of this course: to be the best resource online for learning about Ethereum, blockchains, and how to build apps with this new technology.

The development community is still figuring out the best way to use Ethereum in the creation of new and exciting apps.  I spent a tremendous amount of time to research and create best practice for interfacing with Ethereum from Javascript.  I can't overstate it enough; this course will show you the best and most easily repeatable patterns for creating production-ready apps with Ethereum.


What tools and libraries are used?

The Ethereum tech ecosystem is in constant change.  Don't be fooled by other courses that mention how you'll learn a dozen different libraries!  Every library that you'll use with Ethereum breaks and is deprecated on a near-weekly basis!  Instead, this course will teach you how to assemble your own boilerplate package to develop, compile, and test Smart Contracts.  By learning the core technologies, you'll be prepared to adjust to Ethereum no matter how the ecosystem changes.

What is Ethereum?

Ethereum is a cryptocurrency much like Bitcoin, and it has been heralded as Bitcoins successor.  Whereas Bitcoin currently has issues scaling with an increasing backlog of transactions, Ethereum is poised to surpass Bitcoin in performance, popularity, and value.  Ethereum was created to help developers like you create applications focused around transferring money or value from one party to another.

What is Solidity?

Solidity is a programming language for writing Smart Contracts.  Essentially, think of it as a way to control a bank account with code.  With Solidity, we can write applications that simulate a crowd funding campaign, a lottery, a loan, or any other type of financial instrument.  Don't be intimidated by learning 'another' programming language; Solidity is known to be quite similar to Javascript and exceptionally easy to pick up for anyone who has previous JS experience.  This course will give you all the tools you need to master Solidity.


Who this course is for:

  • Programmers looking to leverage blockchain technology for advanced apps
  • Engineers who want to understand Ethereum and how to build apps with it

Featured review

Leonard Shen
Leonard Shen
40 courses
8 reviews
Rating: 5.0 out of 5a year ago
I have given up on other Udemy courses before because I found them too challenging. This is the most challenging Udemy programming course I have ever taken, and yet this is the first Udemy course I have ever finished, front to back, every lecture and every line of code. This is a testament to how good Stephen is as an instructor. I will certainly sign up for more of Stephen's courses in the future. I hope Stephen will produce more Blockchain courses in the future.

Instructor

Stephen Grider
Engineering Architect
Stephen Grider
  • 4.7 Instructor Rating
  • 279,047 Reviews
  • 734,637 Students
  • 29 Courses

Stephen Grider has been building complex Javascript front ends for top corporations in the San Francisco Bay Area.  With an innate ability to simplify complex topics, Stephen has been mentoring engineers beginning their careers in software development for years, and has now expanded that experience onto Udemy, authoring the highest rated React course. He teaches on Udemy to share the knowledge he has gained with other software engineers.  Invest in yourself by learning from Stephen's published courses.

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