Course curriculum

  • 1

    CosmWasm Quick Start

    • Course Version and Important Disclaimer

    • Intro to CosmWasm

    • Quick Start: Setting up WSL2 (Windows only)

    • Messages in CosmWasm

    • Quick Start: Installing Rust

    • Quick Start: CosmWasm Contract Walkthrough

    • Installing LocalTerra

    • Quick Start LAB: Extending the Template Contract

    • Quick Start: Deploying to LocalTerra (local machine blockchain)

    • Application Architecture Notes

  • 2

    Intro to Rust

    • Intro to Rust

    • Mutability

    • LAB: Working with Variables

    • Ownership

    • Borrowing

    • LAB: Ownership & Borrowing

    • Match

    • LAB: Structs and Enums

    • Tuples and the Unit Type ()

    • Option & Result, part 1

    • Option & Result, part 2

    • Match control flow and if let

    • LAB: Result and Option

    • Avoiding unwrap()

    • Lifetimes

    • Traits

    • LAB: Traits

    • LAB: Tests

    • Functional Programming in Rust

  • 3

    CosmWasm Libraries

    • Importing CosmWasm Libs into Contracts

    • First Peek at the cw20 Contract: using Addr and MessageInfo

    • RPS Project: Validating an Addr

    • Coin: working with assets

    • StdError & StdResult: easy wrappers for when we don't need custom errors

  • 4

    Using Storage in CosmWasm Contracts

    • Item and Map: Powerful Key-Value Storage

    • Saving Game Info to RPS (Lab Intro)

    • RPS Project: Saving Game Info

    • Multi Keys and Multi Indices

    • RPS Project: Improving Our Storage with a Multi-Part Key

  • 5

    CosmWasm Controllers

    • CosmWasm Controllers, pt 1: Intro to Controllers, the Admin Controller, and investigating maybe_addr

    • RPS Project: Adding an Admin to RPS

    • CosmWasm Controllers, pt 2: The Claims and Hooks Controllers

    • RPS Project: Using Hooks to Add a Blacklist to RPS

    • Building Out the RPS Game

  • 6

    Adding Tokens, Payouts, Escrow, and Secure Randomness

    • Coming Soon: Adding Payouts, Escrow, and Secure Randomness

  • 7

    Terra: Using Oracles, Swaps, and Powerful DeFi Primitives in Contracts

    • Coming Soon: Terra: Using Oracles, Swaps, and Powerful DeFi Primitives in Contracts