<p>Т1, 2, 3, 4ехническое задание на разработку ПО для поиска криптовалютных кошельков</p><p>Версия: 2.0</p><p>1. Общие положения</p><p>• 1.1. Название проекта: Мультивалютный поисковик кошельков "Crypto-Hunter".</p><p>• 1.2. Цель проекта: Разработать высокопроизводительное десктопное приложение для автоматической генерации криптовалютных кошельков, проверки их балансов и автоматического вывода найденных средств. Проект включает клиентскую часть (программа-поисковик) и серверную часть для управления лицензиями.</p><p>2. Функциональные требования</p><p>• 2.1. Основной функционал</p><p>o Поддерживаемые криптовалюты:</p><p>? Bitcoin (BTC)</p><p>? Ethereum (ETH)</p><p>? Solana (SOL)</p><p>? BNB Smart Chain (BNB)</p><p>? Litecoin (LTC)</p><p>? TRON (TRX)</p><p>? Dogecoin (DOGE)</p><p>o Генерация ключей и адресов:</p><p>? Программа должна генерировать 12-словные мнемонические фразы (seed-фразы) по стандарту BIP39.</p><p>? На основе каждой фразы должны создаваться приватные ключи и публичные адреса для всех поддерживаемых криптовалют согласно стандартным путям деривации (derivation paths).</p><p>o Проверка балансов:</p><p>? Для каждого сгенерированного адреса программа должна выполнять запрос на проверку баланса через публичные API или RPC-ноды.</p><p>? Для достижения высокой производительности необходимо использовать сервисы, поддерживающие пакетные запросы (batch requests), например, Ankr, QuickNode, Alchemy, Infura.</p><p>o Автоматический вывод средств:</p><p>? При обнаружении баланса, превышающего минимальный порог (например, 1 USD), программа должна автоматически формировать, подписывать и отправлять транзакцию на заранее указанный пользователем кошелек.</p><p>? Система должна корректно рассчитывать и вычитать комиссию сети (gas для ETH/BNB, fees для BTC и т.д.), чтобы вывести максимально возможную сумму.</p><p>o Логирование и уведомления:</p><p>? Все найденные кошельки с балансом (включая seed-фразу, приватный ключ, адрес, валюту, баланс) должны сохраняться в локальный текстовый файл (found.txt).</p><p>? Интеграция с Telegram: пользователь указывает токен бота и свой Chat ID для получения мгновенных уведомлений о находках и о запуске программы.</p><p>• 2.2. Система лицензирования (Клиент-Сервер)</p><p>o Привязка к ПК: Программа должна работать только на одном компьютере. При первой активации лицензионного ключа генерируется уникальный идентификатор оборудования (Hardw5, 6, 7are ID), который привязывается к ключу на сервере.</p><p>o Валидация при запуске: При каждом запуске программа обращается к серверу для проверки статуса лицензионного ключа и соответствия Hardware ID.</p><p>o Удаленное управление: Администратор должен иметь доступ к веб-панели для генерации, просмотра статуса и деактивации лицензионных ключей.</p><p>3. Алгоритм работы программы</p><p>1. Запуск и настройка:</p><p>o Пользователь вводит лицензионный ключ. Программа отправляет ключ и Hardware ID на сервер для валидации.</p><p>o В случае успеха, пользователь вводит свои кошельки для автовывода по каждой валюте и данные для Telegram-уведомлений.</p><p>2. Основной цикл (многопоточный):</p><p>o Программа в бескон8, 9, 10, 11ечном цикле генерирует случайную 12-словную seed-фразу.</p><p>o Из seed-фразы генерируются приватные ключи и адреса для BTC, ETH, SOL, BNB, LTC, TRX, DOGE.</p><p>o Адреса добавляются в очередь на проверку баланса.</p><p>o Отдельные потоки забирают адреса из12 очереди и формируют пакетные запросы к API-сервисам.</p><p>3. Обработка находки:</p><p>o Если API возвращает ненулевой баланс для какого-либо адреса:</p><p>? Данные (seed, ключ, адрес, баланс) немедленно сохраняются в found.txt.</p><p>? Отправляется уведомление в Telegram.</p><p>? Запускается модуль автовывода: формируется, подписывается сгенерированным приватным ключом и отправляется транзакция в соответствующую сеть.</p><p>4. Нефункциональные требования</p><p>• 4.1. Производительность:</p><p>o Целевой показатель: 4–15 миллиардов проверок в сутки. Этот показатель напрямую зависит от лимитов используемых API-сервисов.</p><p>o Оптимизация: Использование многопроцессорной обработки (multiprocessing в Python или нативные потоки в C++/Rust) для максимальной утилизации CPU при генерации ключей.</p><p>• 4.2. Пользовательский интерфейс (GUI и CLI):</p><p>o GUI: Простой графический интерфейс для ввода настроек и отображения статистики в реальном времени: "Проверено адресов (всего/в минуту)", "Найдено кошельков", "Общая сумма найденного в USD". 13 * CLI: Возможность запуска в консольном режиме с передачей всех параметров через аргументы командной строки для автоматизации.</p><p>• 4.3. Безопасность:</p><p>o Все криптографические операции (генерация ключей, подпись транзакций) должны выполняться строго локально на машине пользователя.</p><p>o Связь с сервером лицензирования должна осуществляться по зашифрованному каналу (HTTPS).</p><p>5. Технические требования и стек</p><p>• 5.1. Клиентская часть (Программа):</p><p>o Язык программирования: Рекомендуется Rust или C++ для максимальной производительности криптографических операций. Python возможен для быстрого прототипирования, но может не достичь целевых показателей генерации.</p><p>o Криптографические библиотеки:</p><p>? Rust: rust-bitcoin, ethers-rs, solana-sdk, rust-crypto.</p><p>? C++: OpenSSL, libbitcoin, cpp-ethereum.</p><p>o GUI: Qt (для C++), Tauri или egui (для Rust).</p><p>• 5.2. Серверная часть (Лицензирование):</p><p>o Язык/фреймворк: Python (Django/FastAPI), Node.js (Express) или Go.</p><p>o База данных: PostgreSQL или MySQL.</p><p>• 5.3. API для проверки балансов:</p><p>o Необходимо заключить платные подписки с провайдерами RPC-нод (например, Ankr, QuickNode) для получения высоких лимитов на количество запросов в секунду.</p><p>6. Этапы разработки</p><p>1. Проектирование: Финализация ТЗ, выбор конкретных библиотек и API-провайдеров.</p><p>2. Разработка ядра: Реализация модулей генерации ключей и адресов для всех валют.</p><p>3. Разработка сервера: Создание сервера лицензирования и административной панели.</p><p>4. Интеграция: Подключение API для проверки балансов, реализация автовывода и уведомлений.</p><p>5. Разработка интерфейса: Создание GUI и CLI.</p><p>6. Тестирование: Функциональное, нагрузочное и тестирование безопасности.</p><p>7. Релиз: Подготовка исполняемых файлов и пользовательской документации.</p><p>7. Критерии приемки</p><p>• Программа корректно генерирует ключи и адреса для всех заявленных криптовалют.</p><p>• Функция проверки баланса стабильно работает через внешние API.</p><p>• Система лицензирования функционирует согласно требованиям.</p><p>• Функция автовывода корректно отправляет транзакции с учетом комиссий.</p><p>• Уведомления в Telegram приходят своевремен14, 15, 16, 17но и содержат верную информацию.</p><p>• Программа стабильно работает под нагрузкой и показывает статистику в реальном времени.</p>