Course details

Ethereum Smart Contracts with Solidity: Build Decentralized Apps

Ethereum Smart Contracts with Solidity: Build Decentralized Apps

Expected Duration
Lesson Objectives
Course Number
Expertise Level


This course examines the most mature and widely used language for coding smart contracts, Solidity. The 12-video series assumes a reasonably broad understanding of Solidity language; you should also be familiar with different types of functions and data structures available, needed here to build a number of decentralized applications (dApps). Begin by refining an application used to conduct a poll, then implement a smart contract which functions as an escrow. Watch how the different types of data structures in the Solidity programming language operate. Explore different types of functions, including the payable functions which collect ether in a smart contract.  Next, build a smart contract application which mimics a bank, with customers represented by their Ethereum account addresses, and each account can have an Ether balance. By completing the course labs, you will incorporate all the skills needed to build the back end of any decentralized application. With some additional Javascript knowledge, you need only integrate your front end with your smart contract in order to become a full-stack blockchain developer.

Expected Duration (hours)

Lesson Objectives

Ethereum Smart Contracts with Solidity: Build Decentralized Apps

  • outline the key concepts covered in this course
  • use structs to enable users to vote for options using strings
  • interact with the deployed voting app to vote for options using both numbers and strings
  • work with events and use them in smart contracts to log activities
  • develop a smart contract to function as a bank that is capable of enrolling customers and allows them to deposit and withdraw ether
  • deploy the bank smart contract and enroll a customer
  • use the deployed bank smart contract to deposit and withdraw ether
  • invoke the selfdestruct function to remove the bank smart contract from the Ethereum network
  • define a smart contract to hold ether and transfer it to a specified account once a certain number of approvals have been obtained
  • deploy the escrow smart contract and verify the validation checks
  • use the deployed escrow smart contract to supply the required approvals for ether transfer and verify the behavior when the transfer is rejected
  • identify the key functions and data structures used to build decentralized apps with Solidity
  • Course Number:

    Expertise Level