Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions submissions/week-2/task1.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@

fn btc_value_in_usd(btc: f64, rate: f64) -> f64 {
// Expression block without a semicolon to return the computed value.
{
btc * rate
}
}

fn main() {
let btc = 0.25;
let rate = 65000.0;
let value_in_usd = btc_value_in_usd(btc, rate);

println!(
"{} BTC at rate ${} = ${} USD",
btc, rate, value_in_usd
);
}
22 changes: 22 additions & 0 deletions submissions/week-2/task2.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
fn mine_blocks(limit: u8) {
let mut mined = 0;

while mined < limit {
mined += 1;
println!("Mining block #{}", mined);

// Simulate mining difficulty — fake pause or iteration logic could go here.
// Example: adjusting difficulty every few blocks.
if mined % 5 == 0 {
println!("⛓️ Checkpoint reached at block #{}", mined);
} else {
println!("...continuing to next block");
}
}

println!("✅ Mining complete — total {} blocks mined!", mined);
}

fn main() {
mine_blocks(12);
}
31 changes: 31 additions & 0 deletions submissions/week-2/task3.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@


/// Represents the different Bitcoin network types.
enum Network {
Mainnet,
Testnet,
Regtest,
}


fn get_rpc_url(network: &Network) -> &str {
match network {
Network::Mainnet => "https://rpc.mainnet.bitcoin.org",
Network::Testnet => "https://rpc.testnet.bitcoin.org",
Network::Regtest => "http://localhost:18443",
}
}

fn main() {
let selected_network = Network::Testnet;

// Use match to print detailed information
match selected_network {
Network::Mainnet => println!("🌍 Mainnet selected — live Bitcoin network."),
Network::Testnet => println!("🧪 Testnet selected — use for testing and development."),
Network::Regtest => println!("⚙️ Regtest selected — local test environment."),
}

let rpc_url = get_rpc_url(&selected_network);
println!("RPC endpoint: {}", rpc_url);
}