Do you want to learn Solidity and create your own dApps and smart contracts? This free online course gives you a comprehensive overview that is aimed to be more accessible than the Solidity documentation but still complete and descriptive.
βΆοΈ Multimodal Learning: Each tutorial comes with a tutorial video that helps you grasp the concepts in a more interactive manner.
Are you ready to build your skills as a highly sought-after Blockchain Developer or Solidity Engineer? Let’s dive right in! π
π₯π₯π₯ Feel free to open each tutorial in a new tab and go over all of them for maximum learning effects!
Basic Introduction and Overview
- Introduction to Smart Contracts and Solidity
- How to Create Your Own Token in Solidity β Easy Example
- Blockchain Basics of Smart Contracts and Solidity
- Mastering the Ethereum Virtual Machine (EVM)
- Ethereum Virtual Machine (EVM) Message Calls
Installation and Technical Requirements
- [Overview] Installing Solidity Compiler
- How to Install the Solidity Compiler with npm?
- How to Install the Solidity Compiler via Docker on Ubuntu?
- How to Install the Solidity Compiler via Source Code Compilation?
- How to Install the Solidity Compiler via Static Binary and Linux Packages
Guided Example Smart Contracts
- [Overview] Top 5 Solidity Smart Contract Examples for Learning
- Example 1: How Does the Solidity Voting Smart Contract Work?
- Example 2: Simple Open Auction (Explained)
- Example 3: Mastering the Solidity Blind Auction Contract
- Example 4: Safe Remote Purchase
- Example 5: Understanding Modular Contracts
Solidity Layout
- Solidity File Layout β SPDX License ID and Version Pragmas
- Solidity Layout β Pragmas, Importing, and Comments
Solidity Types
- [Overview] Seven Simple Solidity Blocks to Build Your dApp (State Variables, Functions, Modifiers, Events, Errors, Structs, Enums)
- Boolean and Integer Types
- Fixed Point Numbers and Address Types
- Contract Types, Byte Arrays, and {Address, Int, Rational} Literals
- String Types, Unicode/Hex Literals, and Enums
- User-Defined Value Types
- Function Types
- Introduction to Solidity Reference Types and Arrays
- Solidity Bytes and String Arrays, Concat, Allocating Memory, and Array Literals
- Solidity Function Type Examples
- Solidity Reference Types β Array Slices and Structs
- Solidity Array Members and Manipulation Techniques
- Dangling References to Storage Array Elements β Solidity Reference Types
- Solidity Mapping Type Made Easy
- Solidity Iterable Mapping Type
Operators and Howtos
- Solidity Operators and Delete Keyword
- Solidity Conversions of Elementary Types
- Solidity Ether Units, Time Units, and Global Variables
- Solidity β Members of Address Types and Type Information
- Solidity: Bytes/String Members | Error Handling | Contract Functions
Expressions and Control Structures
- Solidity Control Structures
- Solidity Internal and External Function Calls
- Solidity Function Calls – Positional vs Named Arguments
- Solidity Omitted Function Parameter Names
- Smart Contracts β Discover How To Create Them Directly and Indirectly!
- Spice Up Your Solidity with Salted Contract Creations & create2
- Breaking Down Solidity Expression Trees and Tuple Assignments
- Solidity Assignments for Arrays and Structs
- Solidity Declarations – A Helpful Guide with Video
- Solidity Scoping
Functions and Language Features
- Solidity Checked and Unchecked Expressions
- Solidity Error Handling with Assert, Require, and Revert Functions
- Solidity Function Visibility Made Easy
- Solidity Receive Ether Function
- Solidityβs Fallback Function β A Simple Guide
- Solidity Function Overloading
- Solidity Function Constructors β A Helpful Simplified Guide with Video