/blockchain-and-cryptocurrency-simulation

This project simulates a basic blockchain and cryptocurrency system.

Primary LanguageC++GNU General Public License v3.0GPL-3.0

Blockchain

📰 About the project

This project simulates a basic blockchain and cryptocurrency system. It demonstrates the core functionalities of a blockchain, including block creation, mining, and validation. Each block contains an index, a hash of the previous block, a list of transactions, a timestamp, and a nonce for proof-of-work. The project is implemented in C++ and uses OpenSSL for cryptographic hashing. This simulation provides an educational example of how blockchain technology underpins cryptocurrencies, showcasing key concepts such as decentralization, immutability, and consensus.

Content overview

.
├── blockchain-and-cryptocurrency/ - source code
├── pkgs_installed/ - folder to store installed packages
├── storage/ - folder to store package archives
├── tests/ - contains testcases
├── vcpkg/ - contains vcpkg package manager
├── tests/ - folder to store the installed packages
├── .gitignore - ignore files, folders, etc. for version control
├── CMakeLists.txt - configurations for cmake buildsystem
├── CMakePresets.json - settings for cmake buildsystem
├── COPYRIGHT - project copyright
└── README.md - relevant information about the project

📓 Features

  • Mine a block
  • Get the entire chain
  • Check validity of the Blockchain
  • Add a transaction
  • Connect to a single node
  • Reset the chain

🏃 Getting started

Prerequisites and example usage

  1. Clone the project:
git clone https://github.com/CH6832/blockchain-and-cryptocurrency.git
  1. Navigate into root folder:
cd blockchain-and-cryptocurrency
  1. Run the application.

📚 Resources used to create this project

🔖 License

This project is licensed under the terms of the GPL v3.

©️ Copyright

See the LICENSE file for copyright and licensing details.