Introduction to Rust for Blockchain Development
Developed by the Technical Education team at the Web3 Foundation, this course introduces programming in Rust for Blockchain applications.
This course follows the free textbook The Rust Programming Language by Steve Klabnik and Carol Nichols, with the addition of hands-on examples, in-browser executable snippets, and some patterns commonly found in blockchain-based development.
This course is designed to teach the fundamentals of Rust to people who know the basics of programming in another language, and are curious about why Rust is used and how to use it.
This course provides a strong foundation in general-purpose Rust. Also, it emphasizes some aspects
of Rust (such as [no_std]
, advanced traits, and the use of Rust & Wasm development toolchain) that
are particularly useful when developing with the Substrate blockchain
framework.
Module 1 - Why Learn Rust?
Module 2 - Rust 101 - The Basics
Module 3 - Intro to Intermediate Rust: Ownership, Borrowing, & Slices
Module 4 - Intro to Intermediate Rust: Enums & Matching Patterns
Module 5 - Intro to Intermediate Rust - Data Structs & Collections
- Structs
- Defining Methods for Structs
- Vectors, Strings & Hashmaps
- Vectors vs Strings - what’s the difference?
Module 6 - Intro to Advanced Rust - Traits, Generics, & Lifetimes
- Defining behavior with Traits
- Reducing Duplication with Generics
- Associated Types vs Generics
- Lifetimes in Rust