https://github.com/georgiosmatzarapis/blockchain
A blockchain implementation approach.
https://github.com/georgiosmatzarapis/blockchain
bitcoin blockchain cpp cpp23 decentralization ledger modern-cpp
Last synced: 29 days ago
JSON representation
A blockchain implementation approach.
- Host: GitHub
- URL: https://github.com/georgiosmatzarapis/blockchain
- Owner: georgiosmatzarapis
- License: mit
- Created: 2023-08-15T14:50:56.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-10-13T19:57:33.000Z (over 1 year ago)
- Last Synced: 2025-08-28T11:36:43.068Z (10 months ago)
- Topics: bitcoin, blockchain, cpp, cpp23, decentralization, ledger, modern-cpp
- Language: C++
- Homepage:
- Size: 63.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Blockchain
This is an implementation approach of a distributed and decentralized system following the principles of Blockchain 1.0, representing the first generation of blockchain technology. Having this, I have chosen as best match candidate for such system the bitcoin blockchain ledger.
The idea came up from my need to develop my modern C++ skills and apply them to an interesting and challenging project. Of course, I do not go through all the implementation details and complexity that bitcoin solution carries on, but I try to follow the basic mechanisms.
Please, follow the repository [issues](https://github.com/georgiosmatzarapis/blockchain/issues) to track the current progress.
## Environment
Windows subsystem for Linux (WSL) with Ubuntu-22.04 distribution, has been chosen as my development space.
On top of this,
- Default C++ standard: C++23.
- Compiler: GNU gcc/g++ packages both in 13.1.0 version.
- Debugger: GNU gdb (GDB) package in 13.2 version.
- cmake: version 3.27.7 - suite maintained and supported by Kitware.
- ninja: version 1.11.1.
Editor: I have chosen Visual Studio Code (version: 1.87.2) for the development of the current project, as it works pretty smoothly with WSL and provides the desired level of configurability.
Also, to highlight that CMake has been chosen for the build orchestration using the ninja build tool.
## Configuration, Build, and Run
You can configure the project and build it using the following command:
```console
cmake --workflow --preset blockchain-wf
```
To run the application, execute the binary:
```console
./build/debug/app/Blockchain_app
```
## Acknowledgments
Special thanks to the creators and maintainers of the following projects and libraries:
- [GNU/Linux](https://www.gnu.org/gnu/linux-and-gnu.en.html)
- [Kitware](https://kitware.com/cmake)
- [OpenSSL](https://www.openssl.org/)
- [Bitcoin](https://github.com/bitcoin/bitcoin)
---
## Author
@[georgiosmatzarapis](https://georgiosmatzarapis.com)