Course curriculum

  • 1

    Introduction

    • Course Version and Important Disclaimer

    • Intro to CosmWasm

  • 2

    CosmWasm Quick Start

    • Quick Start: Setting up WSL2 (Windows only)

    • Messages in CosmWasm

    • Quick Start: Installing Rust

    • Installing LocalTerra

    • NEW: Installing the Terrain Development Environment

    • NEW: Exploring the Terrain Development Environment

    • NEW: Deploying the Terrain Frontend (Connected to Smart Contract)

    • Quick Start: CosmWasm Contract Walkthrough

    • NEW: Using Terrain to Deploy to Bombay Testnet

    • Quick Start LAB: Extending the Template Contract

    • Excursus: Deploying to LocalTerra (local machine blockchain) without Terrain

    • Application Architecture Notes

  • 3

    How's Your Rust?

    • Noob? Pro? Growing claws?

  • 4

    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

  • 5

    Using Storage in CosmWasm Contracts

    • Item and Map: Powerful Key-Value Storage

    • NEW Codealong: Using Map to Save Data in a Contract (plus Tests!)

    • NEW Lab: Complete the Tests

    • 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

  • 6

    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

  • 7

    Next Steps: NFTs and More!

    • What next?

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

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