We may earn an affiliate commission when you visit our partners.
Andrei Dumitrescu and Crystal Mind Academy

This course covers every core concept of Ethereum, Solidity and Blockchain Technology with 5 Hands-On Projects.

This Ethereum and Solidity Programming course covers every major topic of Ethereum and Solidity, including Smart Contracts Compilation and Deployment on the Blockchain, ABI, Bytecode, Transactions and Calls, Gas, State Variables, Solidity Global Variables, Getter and Setter Functions, Receive, Fallback and Payable Functions, all Solidity Data Types, Events, Accessing and Protecting the Contract’s Balance, Visibility Specifiers and many more.

This Course is

Read more

This course covers every core concept of Ethereum, Solidity and Blockchain Technology with 5 Hands-On Projects.

This Ethereum and Solidity Programming course covers every major topic of Ethereum and Solidity, including Smart Contracts Compilation and Deployment on the Blockchain, ABI, Bytecode, Transactions and Calls, Gas, State Variables, Solidity Global Variables, Getter and Setter Functions, Receive, Fallback and Payable Functions, all Solidity Data Types, Events, Accessing and Protecting the Contract’s Balance, Visibility Specifiers and many more.

This Course is

I’m constantly updating the course to be the most comprehensive, yet straightforward, Ethereum, Solidity & Blockchain Programming course on the market.

This course IS NOT like any other Ethereum and Solidity Programming course you can take online. At the end of this Hands-On Course, you will MASTER all the key concepts of the Ethereum Blockchain and Solidity and you will become an effective Ethereum Blockchain Developer for the future that comes.

Just starting with Blockchain,  Technology Smart Contracts Development and Solidity Programming? Perfect, I've got you covered. This course starts out assuming you're new to these technologies.

Or maybe you've already tried to learn Ethereum Blockchain Development and Solidity Programming by yourself and now you want to put all the pieces together? I'm here to help you, this course has everything you need to know about Ethereum Blockchain Development and Solidity Programming Language.

You'll have lifetime access and you can return and look for a specific Ethereum feature or Solidity syntax anytime you want.

All presentations and Ethereum Smart Contracts used in this course are available for download.

Many Ethereum Smart Contracts such as the ERC20 Token, the ICO are ready to be used with no or very few changes.

There are many courses on Ethereum Blockchain Development and Solidity Programming. Why should you learn from me?

  • I'm a Practitioner and a Blockchain Enthusiast. Welcome to the real world. I have almost 20 years of experience as a Software Engineer. Since I started with Ethereum and Blockchain Development, I've been using or studying technology almost on a daily basis.

  • I'm an Educator and I know how to make a syllabus. For the last 10 years, I've trained thousands of people on Linux, Networking, Security, or Programming.

This course doesn't cover JavaScript Frameworks, Front-Ends, or details about Web3 interaction with the Ethereum Blockchain. It's focused on Back-End Smart Contracts Development. Basic knowledge of any programming language (C, C++, JavaScript) is required.

Andrei completely broke down the barriers to understanding Solidity and Blockchain programming, so many basics that are fundamental to understanding this tech were clearly explained. Very Impressive. " by Peter Olisa

  • "Highly recommended course. Goes directly to the point, explaining many examples of real-life smart contracts. Instead of a lot of JavaScript front-end programming, as in other courses, it goes directly to dApp development. Very useful indeed." by Jose Ferdandez

  • "The course is well structured and really in-depth. The instructor does a really good job explaining the concepts, with examples. I would recommend this course to anyone interested in the subject." by Andrei Buiu

The topics covered in this course are:

  • What is the Ethereum Blockchain Platform

  • Ethereum Accounts, Addresses, Transactions & Blocks, Gas, Opcodes, and Mining

  • Tools used for Ethereum Development

  • Ethereum Smart Contract Compilation, ABI, Bytecode, and Deployment to different Ethereum Blockchains

  • Solidity Syntax

  • In-depth details about Solidity State Variables and Functions

  • Solidity Fixed-Size Arrays, Dynamic Arrays, Structs, Enums, Mappings, Global Variables, etc

  • Contract Address and Balance: Sending Ether to a Contract, Payable & Fallback Functions

  • Accessing the Contract Balance

  • Variables and Functions Visibility: Private, Public, Internal, External

  • Events

  • Contract Inheritance, Abstract Contracts & Interfaces

  • Real-World examples of how to create secure Smart Contracts for a decentralized unstoppable Lottery, Auction or CrowdFunding Platform, ERC20 Token, and ICO

  • What is the InterPlanetary File System (IPFS) and how IPFS works? IPFS Examples.

  • Installing and Running an IPFS Node on Linux

  • Installing and Running an IPFS Node on Windows

Every topic includes many live examples. This course will show you the best design patterns for developing production-ready smart contracts with Ethereum Blockchain and Solidity.

After taking this course, you'll be able to:

  • Have an in-depth understanding of the Ethereum Blockchain and Solidity Programming Language;

  • Understand what are the components of the Ethereum Blockchain Platform;

  • Understand why Smart Contracts and Blockchain Technologies are revolutionary technologies;

  • Create different Smart Contracts to solve real-world problems;

  • Plan, design and develop a Smart Contract for a decentralized Auction Platform;

  • Plan, design and develop a Smart Contract for a decentralized CrowdFunding Platform;

  • Plan, design, develop and deploy your own Fully-Compliant ERC20 Token;

  • Plan, design, develop and deploy your own Initial Coin Offering (ICO);

  • Install and use the InterPlanetary File System (IPFS) on Linux or Windows;

The skills you’ll learn in this Ethereum and Solidity course will boost your career and make you more valuable in the job market. This course could change your life.

Enroll now

What's inside

Learning objectives

  • Fully updated for 2023 and the latest version of solidity and ethereum.
  • Understand the ethereum blockchain platform (accounts, addresses, ether, gas, opcodes, transactions, blocks, mining, etc).
  • Have a very good understanding of solidity contract programming language (syntax and concepts like state variables, storage, functions, visibility, mappings).
  • Understand concepts like events, function modifiers, contract inheritance, abstract contracts & interfaces, etc.
  • Design, create and deploy a fully-compliant erc20 token and launch an initial coin offering (ico).
  • Design, develop and deploy a smart contract for a decentralized lottery.
  • Design, develop and deploy a smart contract for a decentralized auction platform.
  • Understand good practices for developing ethereum smart contracts and see real-world examples to comprehend what are the advantages of blockchain technologies.
  • Design, develop and deploy a smart contract for a decentralized fund raising platform.
  • Understand what interplanetary file system (ipfs) is and how it works. installing and running an ipfs node on linux and windows.

Syllabus

The Ethereum Blockchain Platform
Introduction to Ethereum
Join Our Online Community!
Ethereum Nodes
Read more
Ethereum Accounts and Ethereum Addresses
Creating an Ethereum Account Using MetaMask
Creating an Ethereum Account Using MyEtherWallet (MEW)
Ether (ETH)
Testnets (Sepolia vs. Goerli vs. Rinkeby)
Testnets and Faucets (Goerli)
How to Transfer ETH
Gas, GasPrice, GasLimit and Opcodes
Ethereum Block Explorer
Ethereum Transactions, Blocks
Ethereum Transaction’s Fields
Ethereum 2.0 (ETH2). PoW vs. PoS
Eth2 Sharding
Links to Original Bitcoin & Ethereum White Papers

Take this quiz in order to test your knowledge of Ethereum Blockchain.

Challenges - The Ethereum Blockchain Platform
Master The Solidity Programming Language
Remix IDE
Compilation In Depth: ABI and Bytecode
Contract Deployment on JS VM
Contract Deployment on Rinkeby Using Remix and MetaMask
Quiz for Programming Environment
The Structure of a Smart Contract
Solidity Basic Syntax Rules
State and Local Variables
Functions, Setters, and Getters
The Constructor
Coding - Variables and Functions
Quiz for Solidity State Variables and Functions
Variable Types: Booleans and Integers
SafeMath, Overflows and Underflows
Fixed-Size Arrays
Coding - Fixed-Size Arrays
Dynamically-Sized Arrays
Coding - Dynamic Arrays
Bytes and String Types
Structs and Enums
Coding - Structs and Enums
Mappings
Coding - Mappings
Quiz for Solidity Data Types
Storage vs. Memory (Solidity Gotchas)
Quiz for Storage vs. Memory
Built-In Global Variables - Part 1
Built-In Global Variables - Part 2
Coding - Global Variables
Quiz for Global Variables
Contract’s Address and Balance: Payable, Receive and Fallback Functions
Coding - Receiving Ether
Accessing the Contract’s Balance
Protecting the Contract’s Balance
Coding - The Contract's Balance
Quiz for Contract's Balance
Variables and Functions Visibility: Private, Public, Internal, External -Part1
Variables and Functions Visibility: Private, Public, Internal, External -Part2
Coding - Visibility Specifiers

This quiz contains questions about contract balance and function visibility.

Challenges - Solidity Programming
Project #1 - The Lottery Smart Contract
Smart Contract Planning and Design
Defining the State Variables and the Constructor
Entering the Lottery
Validation. The Require Statement
How to Select the Winner?
Random Numbers in Solidity
Selecting the Winner and Sending Contract Balance
Resetting the Lottery
Contract Review
Deploying the Contract to Rinkeby Test Network
Lottery Smart Contract Source Code
Challenges - The Lottery Smart Contract
Challenges - The Lottery Contract
Project #2 - The Auction Smart Contract
Function Modifiers
Placing a Bid
Testing the placeBid() Function
Canceling the Auction
Important Security Consideration. Withdrawal Pattern
Finalizing the Auction
Testing the Contract. Final Words
Solving a Big Security Vulnerability
Scalability. Deployment Thousands of Auction Contracts
Contract that Deploys Another Contract
Auction Contract Creator
Auction Smart Contract Source Code
Project #3 - The CrowdFunding Smart Contract
Solving a Real-World Problem
Planning and Design
Contributing to the CrowdFunding Campaign
Getting a Refund
Creating a Spending Request

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Covers core concepts of Ethereum, Solidity, and blockchain technology, providing a strong foundation for beginners in the field
Requires basic knowledge of a programming language like C, C++, or JavaScript, making it accessible to those with existing coding skills
Includes hands-on projects like building a lottery, auction, and crowdfunding platform, offering practical experience in smart contract development
Explores the InterPlanetary File System (IPFS) and its integration with Ethereum, which is relevant for decentralized applications
Focuses on back-end smart contract development, which may require learners to seek additional resources for front-end and Web3 interaction
Teaches Solidity, which is actively developed, so learners should ensure they are using the most up-to-date documentation and best practices

Save this course

Save Master Ethereum & Solidity Programming From Scratch to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Master Ethereum & Solidity Programming From Scratch with these activities:
Review Blockchain Fundamentals
Solidify your understanding of blockchain fundamentals to better grasp Ethereum's underlying principles.
Browse courses on Blockchain Technology
Show steps
  • Review the core concepts of blockchain technology.
  • Understand the differences between various blockchain types.
  • Familiarize yourself with consensus mechanisms.
Review 'Mastering Bitcoin'
Gain a deeper understanding of the underlying blockchain technology by studying Bitcoin's architecture.
View Mastering Bitcoin on Amazon
Show steps
  • Read the chapters on transactions and scripting.
  • Study the sections on the peer-to-peer network.
  • Understand the consensus mechanism.
Review 'Solidity Programming Essentials'
Solidify your Solidity knowledge by reviewing a dedicated programming guide.
Show steps
  • Read the chapters on data types and control structures.
  • Study the sections on security considerations.
  • Review the examples of smart contracts.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Practice Solidity Syntax
Reinforce your understanding of Solidity syntax through targeted practice exercises.
Show steps
  • Complete online Solidity coding challenges.
  • Write small smart contracts to test different language features.
  • Debug and fix errors in your Solidity code.
Develop a Simple Token Contract
Apply your knowledge by building a basic token contract, solidifying your understanding of smart contract development.
Show steps
  • Define the token's properties and functionalities.
  • Write the Solidity code for the token contract.
  • Deploy the contract to a test network.
  • Test the contract's functions.
Write a Blog Post on Gas Optimization
Deepen your understanding of gas optimization by researching and writing a blog post explaining best practices.
Show steps
  • Research gas optimization techniques in Solidity.
  • Write a clear and concise blog post explaining the techniques.
  • Provide examples of how to implement the techniques in code.
Contribute to an Open Source Solidity Project
Enhance your skills and contribute to the community by participating in an open-source Solidity project.
Show steps
  • Find an open-source Solidity project on GitHub.
  • Identify a bug or feature to work on.
  • Submit a pull request with your changes.

Career center

Learners who complete Master Ethereum & Solidity Programming From Scratch will develop knowledge and skills that may be useful to these careers:
Blockchain Developer
A blockchain developer designs, develops, and implements blockchain solutions using their knowledge of data structures and cryptography. This 'Master Ethereum & Solidity Programming From Scratch' course is directly relevant, as it dives into the core concepts of Ethereum, Solidity, and blockchain technology. The course also demonstrates how to create smart contracts, covering compilation, deployment, ABI, bytecode, and more. A blockchain developer should take this course to master the essential tools and techniques needed to build decentralized applications on the Ethereum platform.
Smart Contract Developer
Smart contract developers specialize in creating and deploying self-executing contracts on blockchain platforms. These developers need a strong foundation in Solidity, the primary language for writing smart contracts on Ethereum. The 'Master Ethereum & Solidity Programming From Scratch' course helps build this foundation by covering Solidity syntax, data types, functions, and more. This course is crucial for any aspiring smart contract developer, because they will gain practical experience through hands-on projects, including developing decentralized applications, ERC20 tokens and ICOs.
Decentralized Application Developer
Decentralized application developers, also known as dApp developers, build applications that run on a decentralized network, typically a blockchain. This 'Master Ethereum & Solidity Programming From Scratch' course is uniquely positioned to provide the necessary skills for this job. The course not only goes into Solidity, but also focuses on smart contract deployment and how to construct decentralized platforms. DApp developers should take this course to design and implement decentralized solutions, using the very same ERC20 tokens that are covered.
Cryptocurrency Engineer
A cryptocurrency engineer focuses on the creation, maintenance, and security of cryptocurrencies and blockchain systems. This 'Master Ethereum & Solidity Programming From Scratch' course is extremely helpful because it goes into Ethereum, Solidity, and blockchain technology, covering smart contracts, compilation, deployment, and more. Cryptocurrency engineers should take this course to gain a solid grasp of blockchain technology and smart contract development. This will boost their ability to contribute effectively to cryptocurrency projects.
Web3 Developer
Web3 developers create decentralized applications, using blockchain technologies to build a new generation of the internet. The 'Master Ethereum & Solidity Programming From Scratch' course will be valuable to aspiring web3 developers, because it delves into Ethereum and Solidity. The course teaches how to create smart contracts. Web3 developers should take this course to understand the underlying principles of decentralized systems and use smart contracts for web3 applications.
Blockchain Consultant
Blockchain consultants advise organizations on how to integrate blockchain technology into their existing systems or create new blockchain-based solutions. Since you need a solid understanding of blockchain technology and its applications, the 'Master Ethereum & Solidity Programming From Scratch' course may be useful. The course addresses Ethereum and Solidity. A blockchain consultant may find the course helpful in understanding the technical aspects of blockchain. This helps them offer informed recommendations to clients.
Security Auditor
Security auditors identify vulnerabilities and weaknesses in systems to ensure their security. This 'Master Ethereum & Solidity Programming From Scratch' course may be helpful, because it covers smart contract development and deployment on the Ethereum blockchain. Security auditors who want to audit smart contracts may use the information learned in this course. This allows them to assess and improve the security of blockchain-based applications.
Software Engineer
Software engineers design, develop, and test software applications. While this role is broad, specializing in blockchain can be a lucrative path. This 'Master Ethereum & Solidity Programming From Scratch' course may be useful because it covers Ethereum and Solidity. Software engineers can leverage this knowledge to branch into blockchain development, creating decentralized applications, smart contracts, and blockchain solutions. This specialization increases their value in the tech industry.
Technical Project Manager
Technical project managers oversee software development projects, ensuring they are completed on time and within budget. This 'Master Ethereum & Solidity Programming From Scratch' course may be useful. The course delves into Ethereum and Solidity. Technical project managers involved in blockchain projects can use this knowledge to manage development teams effectively. They can also understand the technical challenges involved in the implementation of blockchain solutions.
Financial Analyst
Financial analysts analyze financial data, provide investment recommendations, and assess financial risks and opportunities. This 'Master Ethereum & Solidity Programming From Scratch' course may be useful, especially for those interested in decentralized finance or blockchain-based assets. Financial analysts can use this knowledge to assess the value and potential of cryptocurrencies and smart contracts. They can also advise clients on investment strategies in the blockchain space.
Data Scientist
Data scientists analyze large datasets and extract insights that drive business decisions. This 'Master Ethereum & Solidity Programming From Scratch' course may be useful, especially if focusing on blockchain data. Data scientists can leverage this knowledge to analyze blockchain transactions, smart contract data, and cryptocurrency market trends. This helps them provide valuable insights to organizations looking to understand and leverage blockchain technology.
IT Manager
IT managers are responsible for the planning, coordination, and direction of IT-related activities within an organization. This 'Master Ethereum & Solidity Programming From Scratch' course may be useful. IT managers can benefit from this course if their organizations are exploring or implementing blockchain solutions. IT managers can then plan and oversee these projects more effectively.
Systems Architect
Systems architects design and implement computer and information networks. This 'Master Ethereum & Solidity Programming From Scratch' course may be useful for systems architects working with blockchain technologies. Systems architects can leverage the skills and knowledge learned in this course to design blockchain networks. They can also integrate them with existing systems, ensuring scalability, security, and interoperability.
Risk Manager
Risk managers identify and assess risks that could affect an organization's operations and financial performance. This 'Master Ethereum & Solidity Programming From Scratch' course may be helpful. A risk manager can use this knowledge to evaluate the risks associated with blockchain implementations. This helps them develop strategies to mitigate potential issues.
Technical Writer
Technical writers create documentation, guides, and tutorials that explain complex technical concepts in a clear and concise manner. This 'Master Ethereum & Solidity Programming From Scratch' course may be useful, because this can help writers create content about blockchain technology, Ethereum, and Solidity. They can also educate others, using their understanding to help a broader audience grasp the technologies.

Reading list

We've selected two books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Master Ethereum & Solidity Programming From Scratch.
Provides a practical guide to Solidity programming, covering essential concepts and techniques for building smart contracts. It valuable resource for understanding Solidity syntax, data types, and control structures. The book also covers advanced topics such as security considerations and gas optimization. This book is useful as a reference tool for developers working with Solidity.
Provides a comprehensive overview of Bitcoin technology, which shares many underlying principles with Ethereum. While not directly focused on Ethereum or Solidity, understanding Bitcoin's architecture and concepts will provide a solid foundation for understanding blockchain technology in general. It is particularly helpful for understanding the concepts of cryptography, transactions, and consensus mechanisms. This book is often used as a reference by developers in the cryptocurrency space.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser