Btrust
                    Btrust is a bitcoin academy. I am a proud student of 2025 cohort.
The Concept
I really wanted to put more time and effort in understanding bitcoin technical concepts, so when it happened to me that got relocated somewhere in global south, I couldn't miss the opportunity to be become a part of the latest cohort, I am very grateful for this.
Implementation
We used rust with bitcoincore library.
Result
At this stage the project is minimal and simple, but it already explains quite a bit, at least I learned a lot on the way. The results are in this repo: capstone_project and this one (btc_demy branch) was following a video tutorial.
Lessons Learned
Table of Contents
Rust Concepts 
                    1. Error Handling
Our code demonstrates Rust's robust error handling through:
- Use of 
Result<T, E>type for fallible operations - The 
?operator for error propagation - Custom error type handling with 
RpcError 
2. Structs and Implementation Blocks
The code showcases Rust's struct system and implementation blocks:
Configstruct for configuration managementTransactionDetailsstruct for organizing transaction data
3. Traits
Several Rust traits are implemented:
Debugtrait for debugging outputDisplaytrait for custom string formatting- Custom trait implementations for Bitcoin-specific functionality
 
4. Ownership and Borrowing
The code demonstrates Rust's ownership system:
- Reference borrowing for function parameters
 - Cloning when ownership is needed
 
Bitcoin Concepts 
                    1. Wallet Management
The code implements basic Bitcoin wallet operations:
- Wallet creation and loading
 - Address generation
 - Balance checking
 - Transaction handling
 
2. Mining and Block Generation
Key mining concepts demonstrated:
- Block generation to address
 - Mining rewards collection
 - Confirmation mechanics
 - Minimum number of blocks to mine to get the reward
 - Change address and amount
 
3. Transaction Flow
Complete transaction lifecycle:
- Address Generation
 - Fund Transfer
 - Mempool Entry
 - Transaction Confirmation
 - Change Address Handling
 
4. Bitcoin Network Communication
The code works with Bitcoin's Regtest network:
- Regtest network running in docker container
 - Address type specification (Bech32)
 
Code Architecture
1. Configuration Management
- Environment-based configuration
 - Secure credential management
 - RPC client creation
 
2. Transaction Details Structure
- Comprehensive transaction information
 - Input and output tracking
 - Fee calculation
 - Block confirmation details