Реализация базового Proof-of-Work блокчейна с поддержкой криптографических транзакций и верификацией цепочки.
- Инициализация генезис-блока при первом запуске
- Механизм Proof-of-Work с динамической сложностью
- Хеширование SHA-256 для блоков и транзакций
- Верификация целостности всей цепочки
- ASCII-визуализация структуры блокчейна
- Создание подписанных транзакций между пользователями
- RSA-подпись данных с использованием OpenSSL
- Автоматическая валидация:
- Проверка цифровых подписей
- Контроль балансов участников
- Валидация форматов адресов
- Пакетная обработка транзакций в блоках
- Регистрация новых участников системы
- Генерация RSA-ключевых пар (PEM-формат)
- Автоматическая балансировка:
- Отслеживание остатков средств
- Авторегистрация получателей
- Фильтрация нулевых балансов
- Многопоточный майнинг с использованием всех ядер CPU
- Сериализация цепочки
- Шифрование резервных копий (AES-256)
- Логирование всех операций в консоль
- Поддержка кросс-платформенного времени (ISO 8601)
- Компилятор C++17: GCC 9+/Clang 12+/MSVC 19.29+
- CMake 3.12+: Система автоматизации сборки
- OpenSSL 3.4.1+: Библиотеки разработки
git clone https://github.com/MatthewNaumenko/base-blockchain-transaction-system.git
cd base-blockchain-transaction-system
mkdir build && cd build
Укажите путь к OpenSSL, если не установлен в стандартной директории:
set(OPENSSL_ROOT_DIR "D:/openssl-3.4.1")
- Произвидите стандартную сборку проекта через CMake
- Запустите BlockchainSystem
./BlockchainSystem
Blockchain System Menu
[INFO] Logged in as: (Имя_пользователя)
1. Register user
2. Show list of users
3. Select user
4. Create transaction
5. Show blockchain
6. Save blockchain
7. Validate blockchain
8. Exit
№ | Опция | Функционал |
---|---|---|
1 | Register user | Регистрация нового пользователя с генерацией ключей |
2 | List users | Просмотр списка зарегистрированных пользователей с балансами |
3 | Select user | Смена текущего пользователя |
4 | Create transaction | Создание и подписание транзакции между пользователями |
5 | Show blockchain | Просмотр всей цепочки блоков с транзакциями |
6 | Save blockchain | Сохранение блокчейна в зашифрованный файл (AES-256) |
7 | Validate blockchain | Проверка целостности блокчейна и валидация всех транзакций |
8 | Exit | Выход из системы |
Полная документация проекта доступна в двух форматах:
- Онлайн-версия: GitHub Pages
- Локальная генерация:
doxygen Doxyfile
По вопросам сотрудничества и технической поддержки:
- Email: nauemenko33301@gmail.com
- GitHub: MatthewNaumenko
Apache License 2.0. Полный текст доступен в файле LICENSE.