Т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но и содержат верную информацию.

• Программа стабильно работает под нагрузкой и показывает статистику в реальном времени.

7 часов назад
Гость
7 часов в сервисе
Был
7 часов назад
Файлы доступны только авторизованным пользователям

Заявки фрилансеров

Максим
 
27 лет
10 дней в сервисе
Был
3 часа назад
3 часа назад
Дану
 
30 лет
5 лет в сервисе
Был
4 часа назад
4 часа назад
Валерия
 
35 лет
3 месяца в сервисе
Была
5 часов назад
5 часов назад
Назар
 
33 года
3 года в сервисе
Был
час назад
4 отзыва(-1)
6 часов назад
Даніїл
 
20 лет
2 дня в сервисе
Был
6 часов назад
6 часов назад