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.cppand 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 💻."