# About this repo

This is a collection of my teaching works based on the past live classes I teach and tutorials. The theme is "Rust for Bitcoiners", so the examples are created in such a way that it is relevant to Bitcoin technology.

The purpose of the top level directories are explained below.

* [rust-for-bitcoiners-2](https://github.com/bitcoin-dev-project/rust-for-bitcoiners/blob/main/rust-for-bitcoiners-2/README.md)

This directory contains the course materials relavant to the second run of the live classing which will span over 8 weeks. The start date is *June 17 2024*. It contains the assignments for now. This will be updated after every live class and doubt clearing sessions.

* [rust-for-bitcoiners-1](https://github.com/bitcoin-dev-project/rust-for-bitcoiners/blob/main/rust-for-bitcoiners-1/README.md)

This directory contains the details about first run of the live classes spanning over 5 weeks. The details about the topics discussed in 5 of the classes. This was organised and funded by Chaincode.

* [curriculum](/rust-for-bitcoiners/curriculum.md)

This is a section which tries to explain core rust topics and concepts concisely. It contains a list of modules and each module has a list of topics. These are the reading materials for the students to go through before they appear for the live classes. Students will be allocated certain topics and questions and are expected to explain those to their fellow students clearly.

* [bitcoin\_in\_rust](https://github.com/bitcoin-dev-project/rust-for-bitcoiners/blob/main/bitcoin_in_rust/README.md)

This is a WIP where I'm trying to build simplified bitcoin from scratch. Purpose is to understand the design of bitcoin intuitively using rust. This is not going to be like "Programming bitcoin", but more like "Grokking Bitcoin with Rust".

* [c\_and\_rust](https://github.com/bitcoin-dev-project/rust-for-bitcoiners/blob/main/c_and_rust/README.md)

I volunteered for the participants of a Chaincode cohort to teach Rust and how it solves the problems faced when programming using C. Here the topics are discussed in depth, discussions included computer architecture and operating systems.

* [blockchain\_analysis](https://github.com/bitcoin-dev-project/rust-for-bitcoiners/blob/main/blockchain_analysis/README.md)

This is a cargo project where I build programs to analyze various aspects of bitcoin blockchain using bitcoin related crates.

* [tutorials](https://github.com/bitcoin-dev-project/rust-for-bitcoiners/blob/main/tutorials/README.md)

This section contains how to do specific bitcoin related activities using rust.

* [cmd\_wallet](https://bitcoin-dev-project.gitbook.io/rust-for-bitcoiners/cmd_wallet)

This is a WIP where I try to create a command line bitcoin wallet for learning purposes.


---

# 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://bitcoin-dev-project.gitbook.io/rust-for-bitcoiners/readme.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.
