Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Ethereum and Solidity: The Complete Developer's Guide
Bestseller
Rating: 4.4 out of 5(28,310 ratings)
156,303 students

Ethereum and Solidity: The Complete Developer's Guide

Use Ethereum, Solidity, and Smart Contracts to build production-ready apps based on the blockchain
Created byStephen Grider
Last updated 4/2025
English

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

Course content

8 sections266 lectures23h 58m total length
  • Introduction3:44

    Explore the fundamentals of Ethereum and how this four-part course helps you build web apps with Ethereum, from basics to tooling, deployment, and testing.

  • Course Resources0:38
  • A Short History Lesson4:13

    Explore Ethereum origins, tracing blockchain and smart contracts from the bitcoin white paper to Vitalik Buterin's ideas, and how Ethereum enables domain name registration and gambling.

  • Link to Original Bitcoin White Paper0:07
  • What is Ethereum?4:16

    Explore how Ethereum functions as a network of computers that transfers money and stores data, with multiple networks and nodes forming a shared blockchain database.

  • Interfacing with Ethereum Networks2:42

    Learn how web3 provides programmatic access to the Ethereum network for sending money, storing data, and deploying contracts, and how MetaMask enables consumer interaction.

  • Metamask Setup and Configuration1:08
  • Ethereum Accounts5:22

    learn how metamask creates a single ethereum account with an address, public key, and private key, and how this account can access multiple networks while keeping keys secure.

  • Getting Test Ether to Use in the Course2:09
  • What's a Transaction?7:43

    The lecture explains how a transaction moves ether between accounts on Ethereum, covering nonce, to, value, gas, and the v, r, s verification generated from the sender's private key.

  • Why'd We Wait?5:00

    Learn why Ethereum transaction confirmations take time by exploring how a transaction is sent to a node, gathered into a block, and mined on the rink b test network.

  • A Quick Note About the Next Lecture0:16
  • Basic Blockchains17:49

    Demonstrate how SHA256 hashes, blocks with nonces, and mining form a chain of validated records. See how a distributed network preserves immutability with token transactions and coinbase creation.

  • Block Time10:49

    Explore how Ethereum uses a hash and nonce to hit a target value, and how the network adjusts difficulty to maintain a 15-second block time.

  • Smart Contracts6:55

    Discover how smart contracts on the Ethereum blockchain operate as code-driven accounts with storage, balance, and code, deployed per network, and how contract instances resemble classes and objects.

  • The Solidity Programming Language5:03

    Learn solidity, the strongly typed language for authoring smart contracts, and how the compiler outputs bytecode and the ABI to let JavaScript apps interact with Ethereum contracts.

  • Updated Remix Instructions for new UI - Do Not Skip0:37
  • Our First Contract5:41

    Define your first Solidity contract using Remix, writing a simple Inbox contract with a public message, and learn syntax basics, semicolons, and how Remix aids auditing and analysis.

  • Contract Structure5:39

    Explore the anatomy of a smart contract by dissecting a sample inbox contract: pragma version, contract keyword, storage variable, public access, constructor, and storage versus local variables.

  • Function Declarations8:59

    Learn how solidity function declarations work, covering function keyword, naming, arguments, returns, and common types like public, private, view, pure, and payable, with get message and set message examples.

  • Deploying Contract in New Remix UI0:29
  • Testing with Remix10:57

    Test and interact with a Solidity inbox contract in Remix, deploying to an in-browser fake network and using the constructor, get message, set message, and auto-generated getters.

  • Redeploying Contracts2:34

    Deploy a fresh contract version to apply updates and delete the old instance. Use the auto-generated public message getter or update the message with set message.

  • Behind the Scenes of Deployment5:43

    Discover how Ethereum contract deployment works in Remix: a contract creation transaction with a blank to field, nonce, and V, R, and S signatures, carrying compiled bytecode and ether value.

  • More on Running Functions Than You Want to Know14:15

    Learn how Ethereum handles contract interactions: calls vs transactions, why data changes require a mined transaction, and how transaction delay differs between Remix and real networks.

  • Wei vs Ether4:07

    Understand how gas determines transaction costs in Ethereum and how ether relates to units like way, gwei, and finney, with practical lessons on unit conversion using online tools.

  • Gas and Transactions11:24

    Explore how the Ethereum gas system measures work with gas price and gas limit to determine transaction costs. See how operations consume gas and how unused gas is returned.

  • Mnemonic Phrases11:28

    Explore the 12-word mnemonic concept for generating and recovering Ethereum accounts, keys, and addresses with MetaMask, BIP39, and derivation sequences.

  • We Need More Test Ether!0:49

    Move into more complex Solidity apps, understand gas, prices, and transactions, then obtain ample ether on the Rinkeby test network to deploy contracts and test.

  • Obtaining More Test Ether from Recommended Faucet2:06

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