Smart Contract Programming

Smart Contract ProgrammingSmart Contract Programming You learn programming from SCRATCH and then programming on Ethereum And EOS. Join our 15,000 students and...
Old price: $299.00

Digital Download Immediately

Smart Contract Programming

Smart Contract Programming

Smart Contract Programming
You learn programming from SCRATCH and then programming on Ethereum And EOS.
Join our 15,000 students and get ed now!

irst of all you will learn programming in Javascript and C++ from scratch, we will then continue by learning programming on Ethereum, NEM and EOS. This course is perfect for everyone who wants to really be part of the blockchain ecosystem by actually building it!

You will learn how to develop smart contracts, dapps, tokens and airdrops on top of Ethereum, EOS and NEM.

No programming knowledge or technical expertise needed, we teach you programming from scratch.


Yes! Please visit Ivan on Tech CryptoPay. Please note that there is no refund policy when paying with crypto.

Your Instructor

Ivan Liljeqvist

Ivan runs Ivan on Tech - one of the most successful and trusted blockchain channels on Youtube and is also an international blockchain speaker and educator. Millions of people all around the world have listened, learned and been inspired by Ivan. Now he has created a course for his followers and subscribers, so that they can get the same knowledge as the big corporations.

Course Curriculum

Welcome Welcome by Ivan on Tech (4:27)
Meet Filip (1:55)
2 Questions! Help needed
Disclaimer - Don’t use any of the course material as production code
IMPORTANT: Use our forum (4:45)
Introduce Yourself
Course Overview - What you will learn! (9:35)
Course support - How to reach us
Found a typo or mistake? Let us know!
Introduction quiz!

Programming Bootcamp

Mindset (6:11)
What to do if I am completely stuck?
Programming vs Programming on the Blockchain (14:30)


Books needed
How to study (9:06)

HTML and Web

Discussion thread - HTML and Web
Why Javascript and Web? (2:40)
Installing Atom (1:44)
Reading assignment - HTML
HTML Basics (12:27)
Programming Assignment - Lists (2:04)
Assignment hint - lists (use only after you tried on your own)
Assignment Answer - List, Link and Image (5:37)
Image and Break Line (4:17)
Understanding Web Technology - Hardvard Lecture
Additional Reading

Please rate us

Please leave a Facebook review

Javascript Programming

Reading assignment - Programming
Javascript Introduction (2:22)
Javascript Alert Demonstration (3:50)
Console - Reading Assignment
Google Chrome Console (3:08)
Reading Assignment - Variables
Variables in Javascript (6:32)
Playing with variables in the console (3:45)
Javascript is Easy - Lecture
Boolean expressions - Reading assignment
Playing with Booleans in the Console (5:28)
Binding, Functions and Control Flow - Reading Assignment
Conditional Execution: If-Else (7:28)
Understanding If-Else Deeper
Playing with IF-Else and Booleans in the Console (4:38)
Loops - Reading Assignment
Loops in Javascript (9:20)
While Loop in Javascript (5:58)
While Loop + Boolean (3:20)
Additional Material on Loops in Javascript
Recap (2:08)
How to do exercises (4:58)
Exercises - Chapter 2 in the book
Functions - Reading Assignment
Functions in Javascript (9:42)
Additional Reading - Functions
Scope - Local and Global Variables (4:27)
ABSTRACTION and Returnning Values from Functions (11:31)
Exercises - Chapter 3 in the book
Arrays - Reading Assignment
Arrays in Javascript (5:43)
Clean Code and Comments in Javascript (7:40)
Optional: Javascript CS50 Lecture

Javascript Next Level

Welcome to the NEXT LEVEL (3:22)
Console (6:47)
Libraries - Reading Assignment
Libraries (2:14)
jQuery - Reading Assignment
JQuery (7:49)
ASSIGNMENT - Button Click and Alert (1:35)
Getting User Input - Mouse Click (3:39)
ASSIGNMENT - Text Input Alert (1:22)
Getting User Input - Text (4:56)
Selecting Elements (ID and Class) - Reading Assignment
Functions as Arguments and Timeout (7:02)
Anonymous Functions (4:05)
Iterating an Array (4:10)
Data Structures (Arrays and Objects) - Reading Assignment
Objects in Javascript (11:01)
jQuery vs Angular vs React (3:15)
Dynamic List and ASSIGNMENT (8:15)
Dynamic List - User Adds Elements (9:50)
Dynamic List - Objects (10:36)
Chapter 4 - Exercises
Dividing into Several Files + Document.Ready (10:10)
Asynchronous Programming - Reading Assignment
Callbacks and Callback HELL (10:41)
Promises (15:10)

Javascript in Terminal - NodeJS

Windows Installation and Demonstration (8:35)
MacOS Installation and Demonstration (2:12)

Javascript and HTML Wrap Up

Key take aways (3:58)


Optional: Introduction to Computer Science - MIT Lecture
Installing the IDE + Hello World (4:33)
Understanding Hello World (6:04)
Variables in C++ - Reading Assignment
Variables in C++ (11:05)
User Input C++ (8:17)
Optional: C++ Strings Stanford Lecture
Functions in C++ - Reading Assignment
Functions and Parameters in C++ - Reading Assignment
Functions in C++ (8:46)
Scope - Local and Global Variables in C++ (7:59)
If/Else Control Flow in C++ (5:02)
Optional: C++ Functions Standford Lecture
Arrays in C++ - Reading Assignment
Arrays in C++ (5:24)
Loops in C++ - Reading Assignment
Loops in C++ (11:41)
Little Game Project - Assignment (2:06)
Little Game Project - Solution (6:20)

Object Oriented Programming (OOP)

Structs C++ - Reading Assignments
Structs C++ (9:05)
Initializing Structs (3:10)
Nested Structs (5:14)
Classes in C++ - Reading Assignment
Classes and Objects (8:15)
Constructors (4:41)
Private and Public Variables (8:21)
Inheritance in C++ - Reading Assignment
Inheritance (10:44)
OOP and Solidity Smart Contracts (2:14)
Optional: Data Structures CS50 Lecture

C++ Next Level

Namespaces in C++ (4:22)
typedef in C++ (4:00)
Template Functions (3:27)
Template Classes and Typedef (6:51)
Value vs Reference C++ (5:45)
Pointers C++ (7:00)
Several Files in C++ (5:06)
Optional: Lecture by Bjarne Stroustrup (Creator of C++)

Introduction by Filip

Introduction by Filip (2:37)

Moving into Internet 3.0

Intro to Internet 3.0 and Decentralized Programming (7:31)
Software requirement - Git (1:09)

Ethereum Smart Contracts *UPDATED*

Introduction (1:54)
Build Tools (1:52)
Contracts, State Variables and Functions (8:18)
Arrays & Structs (10:01)
Mappings (7:46)
Mappings Assignment (1:02)
Solution + Control Flow (3:30)
Error Handling + Assignment (6:15)
Error Handling Assignment Solution (3:46)
Error Handling Quiz
Data Location - Memory, Storage and Stack (6:40)
Data Location Assignment (1:28)
Data Location Assignment Solution (2:20)
Modifiers (4:33)
Modifiers Quiz
Owner Modifier (4:21)
Ownable Contracts Quiz
Visibility (3:55)
Inheritance Part 1 (10:53)
Inheritance Part 2 (2:49)
Inheritance Part 3 (4:21)
Inheritance Programming Assignment (0:32)
Inheritance Programming Assignment Solution (1:36)
Inheritance & Visibility Quiz
Reading assignment - Events
Events (5:21)
Events Quiz
Reading assignment - Payable functions
Payable Functions (8:12)
External Contracts & Interfaces (12:57)
External Contracts & Interfaces Quiz
Gas (4:55)
Common Pitfalls, Tips & Tricks (11:42)
Integer overflow/underflow
Testnet Deployment (7:04)

Ethereum dapps

Dapp Intro & Superblocks walkthrough (5:36)
Web3.js Intro (7:32)
Hello World Dapp - Our first Dapp (12:06)
Coinflip Dapp Part 1 - Laying the foundation (8:19)
Coinflip Dapp Part 2 - Creating the front-end (10:09)
Coinflip Dapp Part 3 - Working with Tx Receipts (9:28)
Coinflip Dapp Part 4 - Connecting Metamask (12:38)
Coinflip Dapp Part 5 - Final touches (13:59)
Coinflip Dapp Part 6 - Summary (8:43)

Tokens, Crowdsales and Airdrops

Crowdsale Part 1 - Creating the Token (10:59)
Crowdsale Part 2 - Creating the contract (20:53)
Crowdsale Part 3 - Putting it all together (15:36)
Airdrop contract (13:13)

NEM Programming

Warning: Deprecated Content
NEM Introduction (4:09)
Reading assignment - What is NEM
NEM Nanowallet Setup (4:40)
NEM SDK (7:15)
Programming Assignment - Testing out the SDK (2:18)
Transactions (9:17)
Reading assignment - Mosaics
Namespaces & Mosaic Transactions (24:33)

NEM Dapps

Random Game on NEM Introduction (2:51)
Random Game on NEM Part 1 - Getting ed with Random Numbers (5:20)
Random Game on NEM Part 2 - Building the high score table (9:47)
Random Game on NEM Part 3 - Looking at persistent storage (4:45)
Random Game on NEM Part 4 - Creating our Mosaic (3:49)
Random Game on NEM Part 5 - Connecting our game to the blockchain (12:56)
Random Game on NEM Part 6 - Room for improvement (4:21)
NEM Bank Introduction (1:42)
NEM Bank Part 1 - An overview (2:04)
NEM Bank Part 2 - Building the login functionality (17:27)
NEM Bank Part 3 - Testing a transfer (4:48)
NEM Bank Part 4 - Last piece to the puzzle (14:51)

Smart Contract Programming on

Product tags