Last Update: Feb 25, 2024

Learn Solidity programming by hands-on examples

  • Free

About Course

Ethereum is a second generation public blockchain. Second generation blockchains manage more than cryptocurrency assets, so they can manage any asset. The Ethereum nodes can run programming code called smart contracts. The term smart contract sounds like they are a legal term, but, in reality, smart contracts are no different from any computer program. Smart contracts take action on Ethereum transactions. Ethereum is a single ledger blockchain, and it uses a cryptocurrency called Ether.

Solidity is a scripting language used mainly for blockchain smart contract writing. Solidity runs on the Ethereum blockchain. Solidity is object oriented. It resembles Java in its structure. A programmer can use Solidity to model real life object attributes related to the items involved in the transactions. Solidity also supports functions to execute the actions for the items involved in the transaction.

In this course you learn how to program in Solidity to develop and deploy Ethereum blockchain applications.

Learning Objectives

By the end of this hands-on self-paced course, you’ll understand:

  • Solidity language and the Remix development environment.
  • Basics of Solidity and Solidity construct.
  • Using Solidity to write Smart Contracts.
  • Running and testing Solidity applications using Truffle.
  • Basic understanding of Ethereum use cases in business.

And you’ll be able to:

  • Understand Solidity programming.
  • Understand compiling Solidity into Ethereum.
  • Test Solidity applications using tools like Truffle
  • Update Solidity Smart Contracts.
  • Validate the results of Solidity Smart Contract.

Topics and Subtopics

Here is the outline of topics and subtopics covered in this course:

1. Intro to Blockchain Technology- The History of Blockchain Technology and Bitcoin

2. Intro to Blockchain Technology- The Impact of Ledgers on Society

3. Blockchain Structure and Types

  • Hashing functions
  • Hashes and the structure of a Blockchain.
  • Introduction to the different needs of Public Blockchains and the business needs
  • Introduction to some Blockchain products: Ethereum, Hyperledger, Corda etc

4. Blockchain Operation and Mining

  • Blockchain elements: nonce, Merkle tree, Block
  • Block data and terms: Block height, Block time
  • Blockchain mining procedures and terms

5. Introduction to Ethereum

6. Introduction to Solidity: Remix, and Other Development Environments

  • Remix Development environment Overview
  • Remix Views, and editor
  • Creating a Solidity Script
  • Compiling a script
  • Running a Script
  • Exercise

7. Writing Solidity Contracts

  • The compiler version and pragma
  • Comments and datatypes: integers, Booleans, strings addresses
  • Enums and Structs
  • Arrays
  • Control structures
  • Exercise

8. Solidity Constructs and Evaluating Conditions

  • For, While, Do While Loops
  • Switch Case
  • Mapping Types and Events
  • Handling errors
  • Exercise

9. Solidity Contracts and Functions

  • The Smart Contract function: passing and returning data
  • The Smart Contract function visibility: public, private, etc
  • Calling and declaring functions
  • Inheritance
  • Pure and view functions
  • Function modifiers: time, owner
  • Constructors
  • Overloading Functions
  • Exercise

10. Solidity Contracts and Making Payments in Transactions

  • Block and Transaction Properties
  • Subunits of Ether
  • ABI Specification
  • Solidity Unit Testing
  • Debugging a Contract
  • Ethereum Time
  • Address Payable
  • Exercise

11. Solidity Deployment using Truffle

  • Truffle integration with Visual Studio Code
  • Installing Truffle
  • Compiling a Truffle project
  • Migrations
  • Exercise


Good knowledge of JavaScript and Node.JS as well as basic knowledge of Linux commands is required.

If you are not familiar with blockchain technology, taking Intro to Blockchain Technology course is highly recommended.

Related Courses

Complete Training Bundle

If you are serious about becoming a pro blockchain specialist, you should enroll in our Complete Blockchain Development Training. This bundle covers all essential and practical topics related to blockchain design and development. For $290 monthly subscription, you can have access to 300+ hours of hands-on project-based training covering all courses related to blockchain technology like Hyperledger, Ethereum, Solidity, Blockchain Security, Corda R3 and more. Click here to learn more.

Private Tutoring Classes

To take skills you learn from this course to the next level, taking the following tutoring classes are highly recommended. It is also a great opportunity to discuss your questions and problems related to this course with an experienced instructor:

What Is Next?

After finishing this course, you can enroll in any of following classes:

  1. Intro to Blockchain Cybersecurity

Recommended Free Courses

If you are new to the IT or programming, we suggest the following free courses:

Show More

What Will You Learn?

  • Learn new things
  • Revamp your career
  • Target IT jobs
  • Sharpen your skills
Free access this course


  • A laptop or PC
  • Good Internet
  • Routine Study
  • Regular Join Class