Ethereum Smart Contract Programming 201

Enroll now

Why you should enroll

This course is our advanced Ethereum and Solidity course. It's perfect for anyone that wants to pursue a career as a smart contract developer and needs deep knowledge about building smart contracts and dApps on Ethereum. This course will cover how to create smart contracts using Truffle. It will teach you how to use Truffle to build, test and deploy your smart contracts using the latest industry standards. We will also cover gas consumption, how you build dApps (decentralized applications) and oracles to bring external data into your smart contract.

Your Instructor

Filip has a background in Computer Science within the Swedish Banking sector and was an early adopter of Bitcoin. He is the "other half" behind Ivan on Tech Academy and a true programming mastermind.

Previously, he was the CEO of Stockholm Blockchain Group and has worked as a Blockchain Consultant with clients from all over the world. During his free time he enjoys reading non-fiction books and long walks.


  • Disclaimer
  • Welcome

Error Handling

  • Debugging Manually
  • Using the Remix Debugger

Understanding Gas Consumption

  • Introduction to Storage Cost
  • Copy vs Reference
  • Public vs External
  • View & Pure Functions

Storage Design Patterns

  • Introduction
  • Simple Array Mapping
  • Upgraded Solution
  • Final solution
  • Summary
  • Assignment - Storage Design

Security Considerations

  • Security Introduction & Mindset
  • Re-Entrency
  • Call, Send & Transfer EIP1884
  • Building With Safemath
  • Assignment - Safemath
  • Over & Under-flow
  • Fallback Functions

Token Standards

  • Introduction to Token Standards & ERC20
  • Assignment - ERC20
  • ERC20 Assignment Solution
  • ERC721 Introduction
  • Assignment - ERC721
  • ERC721 Assignment Solution


  • Introduction
  • Walkthrough
  • ERC20 Coding
  • Extending ERC20
  • Custom Extensions & Assignment
  • Assignment Solution
  • Openzeppelin Reading Assignment
  • Utilities


  • Truffle Introduction & Installation
  • Truffle Hello World
  • First migration
  • Calls vs Transactions
  • Value
  • Assignment - Truffle

Project - Building a Decentralized Exchange

  • Project Intro
  • Building wallet
  • Finishing Wallet
  • Better migration
  • Orderbooks
  • Creating dex
  • Creating wallet tests
  • Limit Order Test Assignment
  • Limit Order Test Solution
  • Limit order function
  • Assignment - Bubble Sort Reading
  • Bubble sort explanation
  • Limit Order Function Solution
  • Market Order Overview
  • Market Order Test Intro
  • Market order test solution
  • Market Order Function Start
  • Market Order Function Help 1
  • Market Order Function Help 2
  • Final Code Review
  • Congratulations!! ...and a challenge

50% Complete

Two Step

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.