This repository contains the curriculum for various courses offered by Hxckr. Each course is organized into a dedicated folder, with the curriculum stored in a markdown file.
Course Title: Build and broadcast your own Bitcoin transactionModules:
[ ] Introduction to Bitcoin Transactions
[ ] Understanding Transaction Structure
[ ] Parsing Transaction Inputs
[ ] Parsing Transaction Outputs
[ ] Parsing Bitcoin Scripts
[ ] Constructing a Simple Transaction
[ ] Transaction Signing
[ ] Broadcasting a Transaction
[ ] Advanced Transaction Types
1. Introduction to Bitcoin Transactions
Objective: Provide a foundational understanding of Bitcoin transactions.
Topics:
[x] What is a Bitcoin transaction?
[x] UTXO (Unspent Transaction Output) model.
[x] Transaction inputs and outputs.
[x] Transaction IDs and Hashing.
Exercise: Create a simple visualization of a Bitcoin transaction, showing inputs, outputs, and the UTXO model.
2. Understanding Transaction Structure
Objective: Dive deeper into the structure of a Bitcoin transaction.
Topics:
[x] Detailed breakdown of a transaction: Version, Inputs, Outputs, Locktime.
[x]The role of scripts: ScriptSig and ScriptPubKey.
[x] How transaction data is serialized.
Exercise: Write a parser in your preferred programming language that reads and outputs the basic structure of a raw Bitcoin transaction (Version, Inputs, Outputs, Locktime).
3. Parsing Transaction Inputs
Objective: Focus on the details of transaction inputs.
Topics:
[x] Structure of a transaction input.
[x] Previous transaction hash, output index, scriptSig, sequence.
[x] How inputs reference UTXOs.
Exercise: Extend your code to construct a simple Bitcoin transaction from scratch using the parsed data from the previous exercises.
7. Transaction Signing
Objective: Understand how Bitcoin transactions are signed.
Topics:
[x] Private keys and digital signatures.
[x] How signatures are used to validate inputs.
[x] Creating a valid transaction signature.
Exercise: Extend your code to implement transaction signing and verify the signature against the input script.
8. Broadcasting a Transaction
Objective: Learn how to broadcast a Bitcoin transaction to the network.
Topics:
[x] How transactions propagate through the Bitcoin network.
[x] Tools and APIs for broadcasting transactions.
[x] Exercise: Broadcast the transaction created in the previous exercise using a testnet or local Bitcoin node.
9. Advanced Transaction Types
Objective: Explore more complex Bitcoin transaction types.
Course Title: Build and broadcast your own Bitcoin transaction Modules:
1. Introduction to Bitcoin Transactions
2. Understanding Transaction Structure
3. Parsing Transaction Inputs
4. Parsing Transaction Outputs
5. Understanding Bitcoin Scripts
6. Constructing a Simple Transaction
7. Transaction Signing
8. Broadcasting a Transaction
9. Advanced Transaction Types