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:
Config
struct for configuration managementTransactionDetails
struct for organizing transaction data
3. Traits
Several Rust traits are implemented:
Debug
trait for debugging outputDisplay
trait 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