Tiny Blockchain is a simple blockchain implementation written in Rust. It provides a basic framework for creating and managing a blockchain, complete with transactions, proof-of-work mining, and adjustable parameters such as difficulty and mining rewards.
- Transaction Management: Allows users to create and manage transactions between different addresses.
- Proof-of-Work Mining: Implements a proof-of-work algorithm to mine new blocks for the blockchain.
- Dynamic Difficulty: Users can adjust the difficulty level for mining to control the rate at which new blocks are added to the blockchain.
- Reward System: Provides a reward to the miner for successfully mining a new block.
- Clone the Repository:
git clone https://github.com/simplysabir/tiny-blockchain.git
cd tiny-blockchain
- Build the Project:
cargo build
- Run the Application:
cargo run
- Follow the on-screen instructions: Input the miner address, difficulty level, and use the menu to perform various actions like creating transactions, mining blocks, adjusting difficulty, and changing rewards.
- New Transaction (Menu Option 1): Add a new transaction to the current transaction pool.
- Mine Block (Menu Option 2): Mine a new block by solving the proof-of-work algorithm. This includes rewarding the miner.
- Change Difficulty (Menu Option 3): Adjust the difficulty level for mining.
- Change Reward (Menu Option 4): Modify the reward given to the miner for successfully mining a block.
- Exit (Menu Option 0): Quit the application.
Contributions to enhance or expand the Tiny Blockchain are welcome. If you have suggestions or improvements, feel free to fork the repository and submit a pull request. For significant changes, please open an issue first to discuss what you would like to change.
To explore more about my projects and contributions, visit GitHub or Portfolio.