From 5dc3062f092eb1a81c38daa9d5a832497e07ab8b Mon Sep 17 00:00:00 2001 From: Oluebube01 Date: Thu, 30 Oct 2025 22:44:38 +0100 Subject: [PATCH] chore: devfoma week 2 assignment submission --- .../devfoma/{Week-1 => week-1}/Summary.md | 0 .../devfoma/{Week-1 => week-1}/Week-1.md | 0 .../public/block-creation.jpg | Bin .../public/branch-for-submissions.jpeg | Bin .../public/create-wallet.jpg | Bin .../public/decode-raw-txn.jpg | Bin .../public/generate-address-and-load.jpg | Bin .../public/generate-block-and-confirm-txn.jpg | Bin .../{Week-1 => week-1}/public/list-wallet.jpg | Bin ...mine-block-and-confirm-txn-and-balance.jpg | Bin .../public/send-test-btc-and-metadata-txn.jpg | Bin .../public/solved-fallbackfee-error.jpg | Bin .../public/spendable-output.jpg | Bin .../public/struture-metadata.jpg | Bin .../{Week-1 => week-1}/public/txn-error.jpg | Bin .../public/verify-download-error.jpeg | Bin .../public/verify-node-setup.jpeg | Bin submissions/devfoma/week-2/Cargo.lock | 7 ++ submissions/devfoma/week-2/Cargo.toml | 6 ++ submissions/devfoma/week-2/public/tasks.png | Bin 0 -> 99175 bytes submissions/devfoma/week-2/src/main.rs | 22 ++++ submissions/devfoma/week-2/src/task_1.rs | 14 +++ submissions/devfoma/week-2/src/task_2.rs | 27 +++++ submissions/devfoma/week-2/src/task_3.rs | 31 ++++++ submissions/devfoma/week-2/summary.md | 95 ++++++++++++++++++ 25 files changed, 202 insertions(+) rename submissions/devfoma/{Week-1 => week-1}/Summary.md (100%) rename submissions/devfoma/{Week-1 => week-1}/Week-1.md (100%) rename submissions/devfoma/{Week-1 => week-1}/public/block-creation.jpg (100%) rename submissions/devfoma/{Week-1 => week-1}/public/branch-for-submissions.jpeg (100%) rename submissions/devfoma/{Week-1 => week-1}/public/create-wallet.jpg (100%) rename submissions/devfoma/{Week-1 => week-1}/public/decode-raw-txn.jpg (100%) rename submissions/devfoma/{Week-1 => week-1}/public/generate-address-and-load.jpg (100%) rename submissions/devfoma/{Week-1 => week-1}/public/generate-block-and-confirm-txn.jpg (100%) rename submissions/devfoma/{Week-1 => week-1}/public/list-wallet.jpg (100%) rename submissions/devfoma/{Week-1 => week-1}/public/mine-block-and-confirm-txn-and-balance.jpg (100%) rename submissions/devfoma/{Week-1 => week-1}/public/send-test-btc-and-metadata-txn.jpg (100%) rename submissions/devfoma/{Week-1 => week-1}/public/solved-fallbackfee-error.jpg (100%) rename submissions/devfoma/{Week-1 => week-1}/public/spendable-output.jpg (100%) rename submissions/devfoma/{Week-1 => week-1}/public/struture-metadata.jpg (100%) rename submissions/devfoma/{Week-1 => week-1}/public/txn-error.jpg (100%) rename submissions/devfoma/{Week-1 => week-1}/public/verify-download-error.jpeg (100%) rename submissions/devfoma/{Week-1 => week-1}/public/verify-node-setup.jpeg (100%) create mode 100644 submissions/devfoma/week-2/Cargo.lock create mode 100644 submissions/devfoma/week-2/Cargo.toml create mode 100644 submissions/devfoma/week-2/public/tasks.png create mode 100644 submissions/devfoma/week-2/src/main.rs create mode 100644 submissions/devfoma/week-2/src/task_1.rs create mode 100644 submissions/devfoma/week-2/src/task_2.rs create mode 100644 submissions/devfoma/week-2/src/task_3.rs create mode 100644 submissions/devfoma/week-2/summary.md diff --git a/submissions/devfoma/Week-1/Summary.md b/submissions/devfoma/week-1/Summary.md similarity index 100% rename from submissions/devfoma/Week-1/Summary.md rename to submissions/devfoma/week-1/Summary.md diff --git a/submissions/devfoma/Week-1/Week-1.md b/submissions/devfoma/week-1/Week-1.md similarity index 100% rename from submissions/devfoma/Week-1/Week-1.md rename to submissions/devfoma/week-1/Week-1.md diff --git a/submissions/devfoma/Week-1/public/block-creation.jpg b/submissions/devfoma/week-1/public/block-creation.jpg similarity index 100% rename from submissions/devfoma/Week-1/public/block-creation.jpg rename to submissions/devfoma/week-1/public/block-creation.jpg diff --git a/submissions/devfoma/Week-1/public/branch-for-submissions.jpeg b/submissions/devfoma/week-1/public/branch-for-submissions.jpeg similarity index 100% rename from submissions/devfoma/Week-1/public/branch-for-submissions.jpeg rename to submissions/devfoma/week-1/public/branch-for-submissions.jpeg diff --git a/submissions/devfoma/Week-1/public/create-wallet.jpg b/submissions/devfoma/week-1/public/create-wallet.jpg similarity index 100% rename from submissions/devfoma/Week-1/public/create-wallet.jpg rename to submissions/devfoma/week-1/public/create-wallet.jpg diff --git a/submissions/devfoma/Week-1/public/decode-raw-txn.jpg b/submissions/devfoma/week-1/public/decode-raw-txn.jpg similarity index 100% rename from submissions/devfoma/Week-1/public/decode-raw-txn.jpg rename to submissions/devfoma/week-1/public/decode-raw-txn.jpg diff --git a/submissions/devfoma/Week-1/public/generate-address-and-load.jpg b/submissions/devfoma/week-1/public/generate-address-and-load.jpg similarity index 100% rename from submissions/devfoma/Week-1/public/generate-address-and-load.jpg rename to submissions/devfoma/week-1/public/generate-address-and-load.jpg diff --git a/submissions/devfoma/Week-1/public/generate-block-and-confirm-txn.jpg b/submissions/devfoma/week-1/public/generate-block-and-confirm-txn.jpg similarity index 100% rename from submissions/devfoma/Week-1/public/generate-block-and-confirm-txn.jpg rename to submissions/devfoma/week-1/public/generate-block-and-confirm-txn.jpg diff --git a/submissions/devfoma/Week-1/public/list-wallet.jpg b/submissions/devfoma/week-1/public/list-wallet.jpg similarity index 100% rename from submissions/devfoma/Week-1/public/list-wallet.jpg rename to submissions/devfoma/week-1/public/list-wallet.jpg diff --git a/submissions/devfoma/Week-1/public/mine-block-and-confirm-txn-and-balance.jpg b/submissions/devfoma/week-1/public/mine-block-and-confirm-txn-and-balance.jpg similarity index 100% rename from submissions/devfoma/Week-1/public/mine-block-and-confirm-txn-and-balance.jpg rename to submissions/devfoma/week-1/public/mine-block-and-confirm-txn-and-balance.jpg diff --git a/submissions/devfoma/Week-1/public/send-test-btc-and-metadata-txn.jpg b/submissions/devfoma/week-1/public/send-test-btc-and-metadata-txn.jpg similarity index 100% rename from submissions/devfoma/Week-1/public/send-test-btc-and-metadata-txn.jpg rename to submissions/devfoma/week-1/public/send-test-btc-and-metadata-txn.jpg diff --git a/submissions/devfoma/Week-1/public/solved-fallbackfee-error.jpg b/submissions/devfoma/week-1/public/solved-fallbackfee-error.jpg similarity index 100% rename from submissions/devfoma/Week-1/public/solved-fallbackfee-error.jpg rename to submissions/devfoma/week-1/public/solved-fallbackfee-error.jpg diff --git a/submissions/devfoma/Week-1/public/spendable-output.jpg b/submissions/devfoma/week-1/public/spendable-output.jpg similarity index 100% rename from submissions/devfoma/Week-1/public/spendable-output.jpg rename to submissions/devfoma/week-1/public/spendable-output.jpg diff --git a/submissions/devfoma/Week-1/public/struture-metadata.jpg b/submissions/devfoma/week-1/public/struture-metadata.jpg similarity index 100% rename from submissions/devfoma/Week-1/public/struture-metadata.jpg rename to submissions/devfoma/week-1/public/struture-metadata.jpg diff --git a/submissions/devfoma/Week-1/public/txn-error.jpg b/submissions/devfoma/week-1/public/txn-error.jpg similarity index 100% rename from submissions/devfoma/Week-1/public/txn-error.jpg rename to submissions/devfoma/week-1/public/txn-error.jpg diff --git a/submissions/devfoma/Week-1/public/verify-download-error.jpeg b/submissions/devfoma/week-1/public/verify-download-error.jpeg similarity index 100% rename from submissions/devfoma/Week-1/public/verify-download-error.jpeg rename to submissions/devfoma/week-1/public/verify-download-error.jpeg diff --git a/submissions/devfoma/Week-1/public/verify-node-setup.jpeg b/submissions/devfoma/week-1/public/verify-node-setup.jpeg similarity index 100% rename from submissions/devfoma/Week-1/public/verify-node-setup.jpeg rename to submissions/devfoma/week-1/public/verify-node-setup.jpeg diff --git a/submissions/devfoma/week-2/Cargo.lock b/submissions/devfoma/week-2/Cargo.lock new file mode 100644 index 0000000..bfb10e0 --- /dev/null +++ b/submissions/devfoma/week-2/Cargo.lock @@ -0,0 +1,7 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "Week-2" +version = "0.1.0" diff --git a/submissions/devfoma/week-2/Cargo.toml b/submissions/devfoma/week-2/Cargo.toml new file mode 100644 index 0000000..85f9708 --- /dev/null +++ b/submissions/devfoma/week-2/Cargo.toml @@ -0,0 +1,6 @@ +[package] +name = "Week-2" +version = "0.1.0" +edition = "2024" + +[dependencies] diff --git a/submissions/devfoma/week-2/public/tasks.png b/submissions/devfoma/week-2/public/tasks.png new file mode 100644 index 0000000000000000000000000000000000000000..2669cd4239cc9216b01e104304466527cad14a59 GIT binary patch literal 99175 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 Xv1zeK-|y9;;1_k1iBbB-eW(8kKp(~A literal 0 HcmV?d00001 diff --git a/submissions/devfoma/week-2/src/main.rs b/submissions/devfoma/week-2/src/main.rs new file mode 100644 index 0000000..3abc141 --- /dev/null +++ b/submissions/devfoma/week-2/src/main.rs @@ -0,0 +1,22 @@ +mod task_1; +mod task_2; +mod task_3; + +fn main() { + // Example usage of task_1 function + let btc_amount = 0.5; + let exchange_rate = 30000.0; // Example exchange rate: 1 BTC = 30,000 USD + + // calling the function from task_1 module + let usd_value = task_1::btc_value_in_usd(btc_amount, exchange_rate); + println!("The value of {} BTC in USD is: ${}", btc_amount, usd_value); + + // Example usage of task_2 function + task_2::mine_blocks(12); + + // Example usage of task_3 function + let rpc_url = task_3::get_rpc_url(&task_3::Network::Mainnet); + println!("RPC URL for Mainnet: {}", rpc_url); + + +} diff --git a/submissions/devfoma/week-2/src/task_1.rs b/submissions/devfoma/week-2/src/task_1.rs new file mode 100644 index 0000000..25ed40c --- /dev/null +++ b/submissions/devfoma/week-2/src/task_1.rs @@ -0,0 +1,14 @@ +// 1. Functions and Expressions +// - Write a function `btc_value_in_usd(btc: f64, rate: f64) -> f64` that returns btc * rate. + +// Demonstrate: +// - Function return types +// - Expression blocks (no semicolons for return) +// made the function public to be accessible from main.rs + +// My Solution: +#![allow(unused)] + +pub fn btc_value_in_usd(btc: f64, rate: f64) -> f64 { + btc * rate +} diff --git a/submissions/devfoma/week-2/src/task_2.rs b/submissions/devfoma/week-2/src/task_2.rs new file mode 100644 index 0000000..36f8672 --- /dev/null +++ b/submissions/devfoma/week-2/src/task_2.rs @@ -0,0 +1,27 @@ +// 2. Control Flow & Loops +// Write a function that simulates mining blocks: + +// ``` +// fn mine_blocks(limit: u8) { +// for height in 1..=limit { +// println!("Mining block #{}", height); +// } +// } +// ``` +// - Extend it using: +// - A while loop to simulate difficulty +// - An if-else block to print “Checkpoint reached” every 5 blocks. + +// My solution: +#![allow(unused)] + +pub fn mine_blocks(limit: u8) { + let mut height = 1; + while height <= limit { + println!("Mining block #{}", height); + if height % 5 == 0 { + println!("Checkpoint reached at block #{}", height); + } + height += 1; + } +} \ No newline at end of file diff --git a/submissions/devfoma/week-2/src/task_3.rs b/submissions/devfoma/week-2/src/task_3.rs new file mode 100644 index 0000000..42b7c40 --- /dev/null +++ b/submissions/devfoma/week-2/src/task_3.rs @@ -0,0 +1,31 @@ +// 3. Enums & Pattern Matching +// Refer to this enum `Network` +// ``` +// enum Network { +// Mainnet, +// Testnet, +// Regtest, +// } +// ``` + +// - Write a `match` block that prints details about the selected network. +// - Implement a function `fn get_rpc_url(network: &Network) -> &str` that returns different URLs. + + +// My Solution: + +#![allow(unused)] + +pub enum Network{ + Mainnet, + Testnet, + Regtest, +} + +pub fn get_rpc_url(network: &Network) -> &str { + match network{ + Network::Mainnet => "https://mainnet.rpc.url", + Network::Testnet => "https://testnet.rpc.url", + Network::Regtest => "http://localhost:18443", + } +} \ No newline at end of file diff --git a/submissions/devfoma/week-2/summary.md b/submissions/devfoma/week-2/summary.md new file mode 100644 index 0000000..9b6a4bf --- /dev/null +++ b/submissions/devfoma/week-2/summary.md @@ -0,0 +1,95 @@ + +# Week 2 — Rust Fundamentals: Reflection and Summary + +## Project Structure + +This week’s assignment was organized into a modular Rust project, where each task was implemented in a separate file for clarity and reusability. + +``` +src/ +├── main.rs +├── task_1.rs +├── task_2.rs +└── task_3.rs +``` + +**main.rs** — Serves as the program entry point. Integrates all tasks and demonstrates function calls from each module. +**task_1.rs** — Contains a function for calculating the value of Bitcoin in USD. +**task_2.rs** — Implements control flow and looping logic to simulate mining blocks and reaching checkpoints. +**task_3.rs** — Defines an enum and a pattern-matching function for selecting and returning network configurations. + +This modular setup ensured clean separation of concerns, easy debugging, and scalability as more features are introduced in future weeks. + +### my implementation for all tasks + +![Screenshot for Week 2 Tasks](public/tasks.png "Tasks Output") + + +## Reflection: Summary of Learning and Debugging Process + +### What I Learned + +This week focused on developing a deeper understanding of **Rust fundamentals** through practical, Bitcoin-oriented exercises. +I learned how to structure a Rust project modularly using multiple files, apply control flow, and implement functions and enums effectively. + +Specifically, I learned how to: + +* Define and call functions with parameters and return types. +* Use **expression-based returns** to write concise and efficient code. +* Apply **loops** and **conditional logic** to simulate real-world processes such as block mining. +* Structure code across multiple files using `mod` and `pub` for modularity and reusability. +* Implement and use **enums** with **pattern matching** to manage different system states and configurations. +* Organize logic in a clean, readable way while maintaining functional separation between modules. + +By completing these tasks, I gained confidence in writing Rust code that is both functional and scalable, while also reinforcing the importance of modular architecture in system-level development. + + + +### Challenges Faced + +1. **Understanding the `mod` and `pub` Relationship** + + * Initially, I encountered visibility errors when trying to call functions defined in other files. + * **Cause:** Functions were not marked as `pub`, making them private to their modules. + * **Solution:** Used the `pub` keyword to make functions public and accessible across files, and ensured that `mod filename;` was correctly declared at the top of `main.rs`. + +2. **Borrowing and Ownership in Function Calls** + + * Some initial confusion occurred when passing references (`&`) versus owned values. + * **Cause:** Functions like `get_rpc_url()` expected borrowed references, not owned data. + * **Solution:** Reviewed Rust’s ownership and borrowing rules and passed references using `&` when necessary to satisfy the borrow checker. + +3. **Debugging Module Import Errors** + + * Encountered `unresolved import` and `cannot find module` errors during file organization. + * **Cause:** File names and paths did not match the module declarations in `main.rs`. + * **Solution:** Ensured all task files (`task_1.rs`, `task_2.rs`, `task_3.rs`) were correctly located in the `src/` directory and declared with matching module names. + +4. **Output Formatting and Readability** + + * Initially, printed outputs from different tasks looked disorganized. + * **Solution:** Added clear print statements and separators to distinguish outputs from each task, improving readability during testing. + + + +### Debugging Approach + +Throughout the exercises, I focused on understanding **why** errors occurred rather than just fixing them quickly. +My debugging strategy included: + +* Reading compiler error messages carefully to identify the root cause. +* Checking for visibility and scope issues when working across modules. +* Running `cargo check` frequently to validate the project before execution. +* Making small, incremental changes and verifying outputs after each modification. +* Consulting the official Rust documentation and examples to confirm syntax and best practices. + +This systematic approach helped me become more confident in reading compiler feedback, structuring projects, and managing modular dependencies effectively. + + +### Key Takeaway + +This week’s exercises were instrumental in building a strong foundation for developing Bitcoin-related systems in Rust. +By implementing functions, control flows, and enums within a modular architecture, I now understand how to design structured, maintainable Rust applications. + +The process improved my ability to debug logically, manage visibility across modules, and structure programs that can scale into larger projects. +Most importantly, it bridged the gap between theoretical syntax learning and **practical system implementation**, setting the stage for more advanced topics such as **ownership, borrowing, and data structures** in the coming weeks.