This repository contains an advanced project focused on using ESP32 microcontrollers and implementing blockchain technology to enable secure communication between microservices. The project integrates embedded system programming, blockchain encryption, and C++ tutorials, making it a comprehensive resource for developers interested in IoT, blockchain, and C++ programming.
This project aims to:
- ESP32 Microcontroller Integration: Use ESP32 microcontrollers for communication between IoT devices, establishing a decentralized network.
- Blockchain Implementation: Implement blockchain to ensure secure communication between microservices and devices, using encryption for authenticity and integrity.
- C++ Practice and Training: Provide C++ examples and practice tasks, covering essential programming concepts useful for embedded systems development.
The project is organized into the following sections:
-
Blockchain Communication Setup:
- Public and Private Key Encryption: Using RSA for public and private key encryption to secure data transmission (
outn.cpp
,private_key.pem
,public_key.pem
). - Signature Verification: Demonstrating how to sign and verify messages in the blockchain setup (
sig.cpp
,sig2.cpp
).
- Public and Private Key Encryption: Using RSA for public and private key encryption to secure data transmission (
-
ESP32 Microcontroller Modules:
- Basic Setup and Configuration: Setup files for the ESP32 microcontroller and g++ compiler configuration (
T1
,T1.cpp
). - Microservices Communication: Implementing decentralized communication across multiple ESP32 nodes, allowing them to exchange data securely.
- Basic Setup and Configuration: Setup files for the ESP32 microcontroller and g++ compiler configuration (
-
C++ Tutorials and Practice:
- Basic C++ Concepts: Introduction to essential C++ topics, with practice files such as
helloworld.cpp
and other basic examples (hw.cpp
). - Advanced C++ Techniques: Covering advanced C++ programming tasks, including function forwarding and lambda expressions (
T3_FX.cpp
,T4_FX2.cpp
,T5_forwardFX.cpp
).
- Basic C++ Concepts: Introduction to essential C++ topics, with practice files such as
- ESP32 Development Board.
- g++ Compiler version > 11.
- Arduino IDE or PlatformIO for ESP32 programming.
- OpenSSL for generating encryption keys.
- Clone the Repository:
git clone https://github.com/javadkavossi/ESP32-Blockchain-Microservices.git
Author Javad Kavossi - Embedded Systems Developer and Blockchain Enthusiast. License This project is licensed under the MIT License - see the LICENSE file for details.
"π Advanced project for using ESP32 microcontrollers with blockchain technology π‘οΈ, featuring secure communication between microservices and hands-on C++ training π»."