# Onboarding Guide for Rust Learners

## 🦀 Rust Language Learning Resources (All Levels)

Rust is a fast, memory-safe systems programming language that is widely used in blockchain development, including infrastructure tools for Cardano and other ecosystems like Solana and Substrate. Its strict compiler, ownership model, and zero-cost abstractions make it ideal for secure, high-performance software.

Below, resources are organized into documentation, tutorials, video walkthroughs, interactive platforms, and Cardano-relevant tooling. A structured learning path at the end will guide you from complete beginner to blockchain-ready developer.

***

### 📘 Documentation & Language References

**The Rust Book – Free/All Levels**\
<https://doc.rust-lang.org/book/\\>
The official and most comprehensive guide to Rust. Covers installation, syntax, ownership, borrowing, traits, lifetimes, concurrency, and macros with examples and diagrams.

**Rust by Example – Free/Beginner–Intermediate**\
<https://doc.rust-lang.org/rust-by-example\\>
Hands-on code snippets showing idiomatic usage for every core Rust feature.

**The Rust Reference – Free/Advanced**\
<https://doc.rust-lang.org/reference/\\>
Detailed language documentation describing the Rust compiler and internals. Ideal for experienced developers seeking deeper understanding.

**Rustonomicon – Free/Advanced**\
<https://doc.rust-lang.org/nomicon\\>
A guide to unsafe Rust for writing high-performance or low-level systems code. Covers raw pointers, FFI, lifetimes, and more.

**Cheats.rs – Free/All Levels**\
<https://cheats.rs/>\
A one-page visual cheat sheet covering syntax, error handling, pattern matching, and tooling commands.

***

### 📚 Tutorials & Example Projects

**Rustlings – Free/Beginner**\
<https://github.com/rust-lang/rustlings>\
A CLI-based tutorial with exercises that walk you through key Rust concepts. Includes syntax, ownership, borrowing, and error handling.

**Comprehensive Rust (Google) – Free/Beginner–Intermediate**\
<https://google.github.io/comprehensive-rust/\\>
A large, lecture-style tutorial with in-depth coverage of syntax, traits, lifetimes, and async.

**Zero to Production in Rust – Paid/Intermediate–Advanced**\
<https://www.zero2prod.com/>\
A book + project series walking you through building a production-grade web app with Rust, Actix, PostgreSQL, and CI/CD practices.

**Rust Cookbook – Free/Intermediate**\
<https://rust-lang-nursery.github.io/rust-cookbook/\\>
Idiomatic Rust code samples for practical problems: file I/O, encoding, CLI parsing, HTTP requests, etc.

**Blockchain Example Projects (Solana/Substrate)**

* <https://github.com/solana-labs/solana-program-library>
* <https://github.com/paritytech/substrate-contracts-node>

***

### 🎥 Video Courses & Walkthroughs

**Let’s Get Rusty – Free/Beginner–Intermediate**\
<https://www.youtube.com/@LetsGetRusty>\
Popular Rust YouTube channel covering beginner topics, full-stack projects, async, and more. Great pacing for new learners.

**Crust of Rust (Jon Gjengset) – Free/Intermediate–Advanced**\
<https://www.youtube.com/c/jonhoo>\
Deep-dive technical sessions on advanced Rust concepts like traits, lifetimes, async, and performance tuning.

**RustConf Talks – Free/All Levels**\
<https://www.youtube.com/@RustConf>\
Annual conference talks featuring real-world Rust use cases, async systems, and compiler design.

**Google Comprehensive Rust (YouTube Lectures) – Free**\
Companion videos for the text course. Search: *Comprehensive Rust Google YouTube*.

***

### 💻 Interactive Platforms & Development Tools

**Rust Playground – Free**\
<https://play.rust-lang.org/\\>
Browser-based sandbox to experiment with Rust code instantly. Useful for testing ideas without setting up an environment.

**Exercism Rust Track – Free**\
<https://exercism.org/tracks/rust\\>
Over 100 structured exercises, mentor feedback, and progression from beginner to advanced concepts.

**Codewars (Rust Kata) – Free**\
<https://www.codewars.com/kata/latest/my-languages?language=rust\\>
Solve community-submitted challenges (beginner to expert) in Rust to sharpen skills.

**Replit Rust Projects – Free**\
<https://replit.com/languages/rust\\>
Web-based Rust IDE for collaborative projects and quick experiments.

**VS Code Rust Analyzer – Free**\
<https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer>\
Language server providing inline type hints, jump-to-definition, autocompletion, and refactoring tools.

**Cargo (Rust Package Manager)**\
Default toolchain for building, testing, and publishing Rust projects. Key commands include:

* `cargo build`, `cargo test`, `cargo run`
* `cargo check` (fast compile checks)
* `cargo install` (install binaries)

***

### 🧑‍🏫 Structured Learning Tracks

**Rustlings CLI Track – Free**\
<https://github.com/rust-lang/rustlings>\
Beginner CLI course walking through ownership, enums, modules, and iterators with feedback on errors.

**Exercism Rust Track – Free**\
<https://exercism.org/tracks/rust\\>
Practice progression with test-driven coding tasks. Includes mentor support and gamified tracking.

**Codecrafters – Paid/Intermediate–Advanced**\
<https://codecrafters.io/tracks/rust\\>
Real-world system programming challenges (e.g. building a Redis clone, Docker, etc.).

**Zero to Production Course – Paid**\
Build production-grade APIs, implement CI pipelines, and deploy apps.

**Solana/Anchor Track – Free/Advanced**\
Write real on-chain programs with Rust: <https://soldev.app/>\
Use Anchor framework: <https://www.anchor-lang.com/>

**Substrate Runtime Track – Free/Advanced**\
Create pallets and blockchains: <https://docs.substrate.io/tutorials/>

***

### 🌐 Community Resources & Support

**Rust Discord Server**\
<https://discord.gg/rust-lang\\>
Join channels like #beginners, #compiler, #webdev, and #wasm for targeted help.

**r/rust Subreddit**\
<https://reddit.com/r/rust>\
Daily posts, beginner advice, project showcases, and tooling tips.

**Rust Users Forum**\
<https://users.rust-lang.org/\\>
Great for long-form questions and deep architectural discussions.

**Cardano Rust Projects (TxPipe)**

* [Pallas](https://github.com/txpipe/pallas): Parses Cardano chain data in Rust
* [Oura](https://github.com/txpipe/oura): Rust chain observer for Cardano
* [Mithril Client (WIP)](https://github.com/input-output-hk/mithril)

**Cardano Discord (#rust-dev)**\
Active collaboration around Rust tooling in Cardano. Check `#pallas`, `#oura`, or similar channels.

***

### 🧭 Suggested Learning Path

| Phase              | Focus Area                              | Recommended Resources                                 |
| ------------------ | --------------------------------------- | ----------------------------------------------------- |
| 🟢 Getting Started | Syntax, Ownership, Borrowing            | Rust Book, Rustlings, Let’s Get Rusty                 |
| 🟡 Build Projects  | Traits, Structs, Enums, Collections     | Rust by Example, Exercism, Google Rust Course         |
| 🔵 Full-Stack Dev  | Async, Web APIs, Actix, Axum            | Zero2Prod, Crust of Rust, Cargo, Codecrafters         |
| 🟣 Blockchain Dev  | Smart Contracts, Chain Tooling          | Solana/Anchor, Substrate, Oura/Pallas projects        |
| 🟠 Community       | Collaboration, Open Source Contribution | Rust Discord, Reddit, Cardano Rust Projects on GitHub |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://committees.docs.intersectmbo.org/intersect-open-source-committee/about/open-source-office-oso/guides-and-educational-resources/onboarding-guide-for-rust-learners.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
