# C++

### Introduction

This is a C++ demo that shows in detail how to use AeroNyx.

In order to minimize dependencies, only one non-standard library is used here: `boost`. Its path is configured in cxx\_demo/CMakeLists.txt.

**Read the code in Github**

{% embed url="<https://github.com/AeroNyxNetwork/AeroNyxSDK/tree/main/cxx>" %}

## Project Structure

The project is organized into several directories, each containing specific components of the encryption and network management functionalities:

* **crypto\_tools** - Contains all implementations of the encryption algorithms used in the project.
  * **aes** - Houses AES-related algorithms.
  * **hash** - Dedicated to HASH related algorithms.
  * **secp256k1** - Contains secp256k1 related algorithms.
  * **ecdh\_manager** - Manages ECDH (Elliptic Curve Diffie-Hellman) operations, accelerating the process.
  * **key\_tools** - Packages most of the algorithm interfaces, facilitating their use across the project.
* **cxx\_demo** - This directory contains the demo's CMake configuration and the core implementation logic.
  * **simple\_key.h** - Manages storage for public and private keys.
  * **simple\_http.h** - Implements the Http interface for network communication.
  * **simple\_client\_server.h** - Handles the management of each proxy connection.
  * **simple\_client\_item.h** - Utilized for managing proxy traffic entering a node.
  * **simple\_package.h** - Responsible for packet-based traffic encryption and decryption.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.aeronyx.network/developer-documentation/c++.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
