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



