Course curriculum

  • 1

    Smart Contracts 201

    • Course Description

    • Course Syllabus

  • 2

    Module 1: Token Assets

    • Token Assets on EOSIO Blockchains

    • Lab 1: Working with Token Assets

    • Submit Lab 1

  • 3

    Module 2: Receiving Transfers

    • Payable Actions: Triggering Smart Contract Actions by Sending Tokens

    • Lab 2, Staking Contract: Creating a deposit action

    • Submit Lab 2

  • 4

    Module 3: Inline Actions

    • Using Inline Actions to Send Tokens from a Smart Contract

    • Lab 3, Staking Contract: Adding a withdraw action

    • Submit Lab 3

  • 5

    Module 4: Singletons

    • Singletons: Single-Row State Storage

    • Lab 4, Staking Contract: Using a Singleton for Contract Settings

    • Submit Lab 4

  • 6

    Module 5: Tic Tac Toe Bonus Lab

    • Lab 5: Tic Tac Token

    • Submit Lab 5

  • 7

    Module 6: Table Schemas

    • How to Update Multi-index Table Structure

    • Lab 6, Staking Contract: Using binary_extension

    • Submit Lab 6

  • 8

    Module 7: Getting Data from the Outside World

    • Oracles, part 1: Intro, Delphi, and Provable

    • Oracles, part 2: Native EOSIO Oracles and LiquidOracles

    • Optional Tool: Installing Zeus SDK

    • Lab 7, Staking Contract: Adding an Oracle Price Feed

    • Links and Script for Zeus SDK Setup and Usage

    • Link to Provable Documentation

    • Submit Lab 7

  • 9

    Module 8: Organizing Action Parameters

    • Organizing Action Parameters

    • Lab 8, Tic Tac Toe: Using Payload Structs

    • Submit Lab 8

  • 10

    Module 9: Randomness

    • Randomness, part 1: Intro and Pseudo-Randomness

    • Randomness, part 2: Oracle-based, Multi-party, and Native Randomness

    • Lab 9, Tic Tac Toe: Adding Randomness

    • Submit Lab 9

  • 11

    Module 10: Scheduled and Recurring Actions

    • Scheduled and Recurring Actions on EOSIO

    • Using Contract Design to Reduce the Need for Scheduled Tasks

    • Lab 10, Tic Tac Toe: Adding a Time Limit

    • Submit Lab 10

  • 12

    Module 11: User-Friendly Resource Management

    • Covering Resource Costs for Users

    • Lab 11, Staking Contract: Cover Resource Costs for Users

    • Submit Lab 11

    • Bonus Lab: Add a Daily Payout

  • 13

    More to Explore: Interoperability and Testing Frameworks

    • Inter-Blockchain Communication

    • JavaScript Testing Frameworks on EOSIO

  • 14

    Course Survey

    • Smart Contract 201 Course Survey