Skip to content

iMAGRAY/Rome-Protocol

Repository files navigation

🚀 Rome Protocol Automation Bot

Полнофункциональный бот для автоматизации всех этапов работы с Rome Protocol тестнетом с детальной статистикой в Excel.

🌟 Возможности

  • Автоматическое создание кошельков - Генерация Solana Keypair и EVM приватных ключей
  • Детерминированная генерация - Используется seed фраза из .env для воспроизводимых кошельков
  • Шифрованное хранилище - Безопасное сохранение всех кошельков с AES шифрованием
  • Интеграция с Solana Faucet - Автоматический запрос SOL на Devnet
  • Браузерная автоматизация - Подключение к Rome Protocol через Playwright
  • SOL → rSOL мост - Автоматический бриджинг с подтверждением транзакций
  • Деплой контрактов - Автоматический деплой HelloWorld контрактов
  • Умная случайная активность - Разнообразные транзакции, деплой контрактов, взаимодействия
  • Excel статистика - Полная отчетность с детализацией по кошелькам, транзакциям и контрактам
  • Русская локализация - Все настройки и статистика на русском языке
  • Google Forms - Автоматическое заполнение форм для наград
  • Обработка ошибок - Автоматические повторы и переключение RPC
  • Сохранение прогресса - Восстановление после сбоев

📊 Excel Статистика

Бот автоматически создает детальный Excel файл rome_protocol_stats.xlsx с полной статистикой:

📋 Листы Excel файла:

1. 📈 Общая статистика

  • Время старта и завершения работы
  • Общее количество кошельков, контрактов, активностей
  • Балансы SOL и rSOL
  • Используемые настройки (seed, RPC, задержки)
  • Список всех ошибок с описанием

2. 👛 Кошельки

  • Номер кошелька
  • Solana адрес
  • EVM адрес
  • Текущие балансы SOL и ETH
  • Количество взаимодействий
  • Время создания

3. 💸 Транзакции

  • Номер транзакции
  • Хэш транзакции
  • От какого кошелька
  • К какому кошельку/контракту
  • Сумма в ETH
  • Потрачено газа
  • Статус (успешная/неудачная)
  • Время выполнения
  • Тип активности (перевод, контракт, мульти-перевод и т.д.)

4. 📜 Контракты

  • Номер контракта
  • Адрес контракта
  • Владелец (деплойер)
  • Хэш деплоя
  • Потрачено газа на деплой
  • Статус деплоя
  • Время деплоя
  • Количество взаимодействий с контрактом

5. 🎯 Детальная активность

  • Статистика по типам транзакций
  • Процентное соотношение активностей
  • Статистика по кошелькам (кто сколько сделал)
  • Статистика по контрактам (какие популярнее)

🎲 Умная случайная активность

Бот выполняет разнообразную активность в фоновом режиме:

🔀 Типы активности:

  • Случайные переводы - Разные суммы между кошельками (настраивается в .env)
  • Деплой контрактов - Автоматический деплой новых HelloWorld контрактов
  • Взаимодействия с контрактами - 7 разных функций:
    • setGreeting() - Установка приветствий
    • ping() - Простое взаимодействие
    • batchPing() - Множественные пинги
    • toggleGreeting() - Переключение между предустановленными сообщениями
    • storeMessage() - Сохранение сообщений в истории
    • getRandomNumber() - Генерация случайных чисел
  • Мульти-переводы - До 3 переводов подряд разным адресатам
  • Проверка балансов - Мониторинг состояния кошельков

⏰ Временные интервалы:

  • Случайные задержки (настраивается в .env: ACTIVITY_MIN_DELAY_SEC, ACTIVITY_MAX_DELAY_SEC)
  • Непрерывная работа в фоновом режиме
  • Автоматическое восстановление при ошибках

🎯 Преимущества:

  • Имитирует реальную активность пользователя
  • Создает разнообразные паттерны транзакций
  • Нет фиксированного количества - работает постоянно
  • Адаптивная система с обработкой ошибок

🛠️ Установка

Предварительные требования

  • Node.js 18+
  • npm или yarn
  • Git

Быстрая установка

# Клонировать репозиторий
git clone <repository-url>
cd Rome-Protocol

# Установить зависимости
npm install

# Установить Playwright браузеры
npx playwright install chromium

# Настроить расширения браузера
npm run install-extensions

# Создать конфигурацию
cp .env.example .env

⚙️ Конфигурация .env (на русском языке)

Отредактируйте .env файл со всеми настройками на русском:

# ШИФРОВАНИЕ (ОБЯЗАТЕЛЬНО - Измените это!)
ENCRYPTION_KEY=your-super-secure-32-character-key-here

# ГЕНЕРАЦИЯ КОШЕЛЬКОВ (Seed фраза для детерминированной генерации)
WALLET_SEED=rome protocol automation seed phrase for deterministic wallet generation 2025

# НАСТРОЙКИ SOLANA
SOLANA_RPC_URL=https://api.devnet.solana.com
SOLANA_FAUCET_URL=https://faucet.solana.com/api/v1/airdrop

# НАСТРОЙКИ ROME PROTOCOL
ROME_DEPOSIT_URL=https://deposit.testnet.romeprotocol.xyz
ROME_RPC_URL=https://caelian.testnet.romeprotocol.xyz/
ROME_MARTIS_RPC_URL=https://martis.testnet.romeprotocol.xyz/
ROME_CHAIN_ID=57005

# НАСТРОЙКИ СЛУЧАЙНОЙ АКТИВНОСТИ
ACTIVITY_MIN_DELAY_SEC=30          # Минимальная задержка между активностями (секунды)
ACTIVITY_MAX_DELAY_SEC=300         # Максимальная задержка между активностями (секунды)
ACTIVITY_MIN_AMOUNT=0.001          # Минимальная сумма перевода (ETH)
ACTIVITY_MAX_AMOUNT=0.011          # Максимальная сумма перевода (ETH)

# АВТОМАТИЗАЦИЯ БРАУЗЕРА
HEADLESS=false                     # Показывать ли браузер (true/false)
BROWSER_TIMEOUT=30000              # Таймаут операций браузера (мс)
TAKE_SCREENSHOTS=true              # Делать ли скриншоты

# РАСШИРЕННЫЕ НАСТРОЙКИ
SAVE_EXCEL_STATS=true              # Сохранять ли Excel статистику
EXCEL_FILE_NAME=rome_protocol_stats.xlsx  # Имя Excel файла

# НАСТРОЙКИ КОШЕЛЬКОВ
DEFAULT_WALLET_COUNT=5             # Количество кошельков по умолчанию
DEFAULT_CONTRACTS_PER_WALLET=1     # Контрактов на кошелек по умолчанию

🚀 Использование

Основные команды

# Запуск с настройками по умолчанию (из .env файла)
npm run dev

# Настройка количества кошельков с активностью
npm run dev -- -w 10

# Полная настройка
npm run dev -- --wallets 10 --contracts 2

# Без отправки форм, но с активностью
npm run dev -- --no-forms

# Без случайной активности
npm run dev -- --no-activity

# Помощь
npm run dev -- --help

Параметры командной строки

Параметр Короткий Описание По умолчанию
--wallets -w Количество кошельков Из .env (DEFAULT_WALLET_COUNT)
--contracts -c Контрактов на кошелек Из .env (DEFAULT_CONTRACTS_PER_WALLET)
--no-activity Отключить случайную активность false
--no-forms Пропустить Google Forms false
--help -h Показать справку

Примеры использования

# Быстрый тест с 3 кошельками
npm run dev -- -w 3

# Масштабируемый запуск для максимальной активности
npm run dev -- -w 20 -c 3

# Только создание кошельков и деплой контрактов без активности
npm run dev -- -w 5 -c 2 --no-activity --no-forms

📋 Этапы автоматизации

1. 👛 Создание кошельков

  • Генерация HD кошельков из детерминированной seed фразы (.env)
  • Создание Solana keypair и EVM приватного ключа
  • Шифрование и сохранение в wallets/ директории
  • Запись в Excel: адреса, время создания

2. 💰 Запрос SOL

  • Автоматические запросы через Solana RPC
  • Резервные faucet endpoints
  • Соблюдение лимитов (2 запроса в 8 часов)
  • Запись в Excel: обновление балансов SOL

3. 🌐 Подключение к Rome Protocol

  • Запуск браузера с расширениями кошельков
  • Автоматическое подключение к deposit.testnet.romeprotocol.xyz
  • Добавление сетей Caelian/Martis

4. 🌉 Бриджинг SOL → rSOL

  • Выбор опции "Bridge $SOL" на сайте
  • Подтверждение транзакций в обоих кошельках
  • Проверка получения rSOL баланса
  • Запись в Excel: bridge транзакции

5. 📜 Деплой контрактов

  • Компиляция HelloWorld.sol (pragma 0.8.20)
  • Деплой на Rome EVM с оптимизированным газом
  • Верификация через вызов функций
  • Запись в Excel: данные контрактов, хэши деплоя

6. 🎲 Умная случайная активность

  • Случайные переводы между кошельками (настраиваемые суммы)
  • Деплой новых контрактов в случайное время
  • Взаимодействия с контрактами (setGreeting, ping, batchPing и др.)
  • Мульти-переводы одним кошельком нескольким получателям
  • Проверка балансов и вызовы view функций
  • Активность происходит согласно настройкам в .env
  • Запись в Excel: все транзакции с типами активности

7. 📝 Заполнение форм наград

  • Автоматическое заполнение Google Forms
  • Отправка адресов кошельков и количества транзакций
  • Поддержка API и браузерного заполнения

8. 📊 Создание Excel отчета

  • Автоматическое создание детального Excel файла
  • 5 листов с полной статистикой
  • Сохранение при завершении и при ошибках
  • Все данные на русском языке

🔧 Продвинутые возможности

Детерминированная генерация кошельков

# Используйте одну seed фразу в .env для получения одинаковых кошельков:
WALLET_SEED=my secret seed phrase for consistent wallets

# При каждом запуске с одинаковыми параметрами получите те же адреса
npm run dev -- -w 5  # Всегда одни и те же 5 кошельков

Настройка активности в реальном времени

# Очень активный режим (каждые 30-60 секунд)
ACTIVITY_MIN_DELAY_SEC=30
ACTIVITY_MAX_DELAY_SEC=60

# Спокойный режим (каждые 5-10 минут)  
ACTIVITY_MIN_DELAY_SEC=300
ACTIVITY_MAX_DELAY_SEC=600

# Настройка сумм переводов
ACTIVITY_MIN_AMOUNT=0.0001  # Минимальная сумма
ACTIVITY_MAX_AMOUNT=0.1     # Максимальная сумма

Обработка ошибок и восстановление

# Автоматические повторы операций
- Переключение между RPC endpoints
- Экспоненциальные задержки
- Сохранение прогресса каждого этапа
- Excel отчет даже при ошибках

# Восстановление после сбоя
node dist/index.js --resume progress/progress_1234567890.json

Мониторинг и логирование

# Проверка логов
tail -f logs/combined.log

# Ошибки
tail -f logs/error.log

# Excel статистика (открыть в Excel/LibreOffice)
open rome_protocol_stats.xlsx

Безопасность

  • Все приватные ключи шифруются AES-256
  • Детерминированная генерация из seed фразы
  • Соль и IV генерируются для каждого кошелька
  • Логи не содержат чувствительных данных
  • Excel файл содержит только публичные адреса

📊 Мониторинг прогресса

Бот создает следующие директории:

Rome-Protocol/
├── wallets/                    # Зашифрованные кошельки
├── logs/                       # Логи приложения
├── progress/                   # Снапшоты прогресса
├── screenshots/                # Скриншоты браузера
├── browser-data/               # Данные браузера
├── extensions/                 # Расширения кошельков
└── rome_protocol_stats.xlsx    # 📊 EXCEL СТАТИСТИКА (ОСНОВНОЙ ФАЙЛ)

Статистика в реальном времени

🎉 AUTOMATION COMPLETED!
========================
⏱️  Duration: 1247.32 seconds
👛 Wallets Created: 10
💰 Total SOL Balance: 18.50 SOL
🪙 Total rSOL Balance: 8.20 rSOL
🌉 Bridges Completed: 5
📜 Contracts Deployed: 15
🎲 Random Activities: 127
✅ No errors encountered!

📁 Check the following directories for detailed logs:
   📝 logs/ - Application logs
   👛 wallets/ - Encrypted wallet files
   📊 progress/ - Progress snapshots
   📸 screenshots/ - Browser screenshots
   📊 rome_protocol_stats.xlsx - Excel статистика (полная)

🔧 Настройки из .env файла:
   Seed: rome protocol automation...
   Задержка активности: 30-300 сек
   Сумма переводов: 0.001-0.011 ETH

🐛 Решение проблем

Частые проблемы

1. Excel файл не создается

# Проверить настройку в .env
SAVE_EXCEL_STATS=true

# Проверить права записи в папку проекта
ls -la rome_protocol_stats.xlsx

2. Seed фраза не работает

# Убедитесь что WALLET_SEED установлен в .env
# Проверьте что нет лишних пробелов
WALLET_SEED=exactly the same phrase for reproducible wallets

3. Настройки активности не применяются

# Перезапустите бот после изменения .env
# Проверьте синтаксис чисел (используйте точку, не запятую)
ACTIVITY_MIN_AMOUNT=0.001  # Правильно
ACTIVITY_MIN_AMOUNT=0,001  # Неправильно

Логи отладки

# Включить debug логи
DEBUG=true npm run dev

# Проверить Excel статистику
node -e "
const XLSX = require('xlsx');
const wb = XLSX.readFile('rome_protocol_stats.xlsx');
console.log('Листы:', wb.SheetNames);
"

🔄 Оптимизация производительности

Настройка лимитов

# Быстрая активность
ACTIVITY_MIN_DELAY_SEC=10
ACTIVITY_MAX_DELAY_SEC=30

# Большие суммы
ACTIVITY_MIN_AMOUNT=0.01
ACTIVITY_MAX_AMOUNT=0.1

# Больше контрактов
DEFAULT_CONTRACTS_PER_WALLET=3

Масштабирование

# Запуск нескольких инстансов с разными seed
WALLET_SEED="instance1" npm run dev -- -w 5 &
WALLET_SEED="instance2" npm run dev -- -w 5 &
WALLET_SEED="instance3" npm run dev -- -w 5 &
wait

# Объединение Excel файлов вручную

📋 Требования тестнета

Rome Protocol Testnet

  • Сеть: Caelian/Martis Testnet
  • Chain ID: 57005 (Caelian), 57006 (Martis)
  • Нативный токен: ETH
  • Bridge токен: rSOL

Минимальные требования для активности

  • ✅ 10+ транзакций между собственными адресами
  • ✅ 1+ деплой контракта
  • ✅ 1+ взаимодействие с контрактом
  • ✅ 1+ bridge операция SOL → rSOL

Максимальная активность (этот бот)

  • 🚀 Непрерывная случайная активность
  • 🚀 5+ кошельков (настраивается)
  • 🚀 Множественные контракты (деплой в реальном времени)
  • 🚀 Множественные bridge операции
  • 🚀 Разнообразные типы транзакций
  • 🚀 Полная детализация в Excel

🤝 Вклад в проект

  1. Fork репозитория
  2. Создать feature branch (git checkout -b feature/amazing-feature)
  3. Commit изменения (git commit -m 'Add amazing feature')
  4. Push в branch (git push origin feature/amazing-feature)
  5. Открыть Pull Request

📄 Лицензия

Этот проект распространяется под лицензией MIT. См. LICENSE файл для деталей.

⚠️ Дисклеймер

Этот бот предназначен исключительно для тестирования Rome Protocol testnet.

  • Используйте только на testnet
  • Не используйте mainnet приватные ключи
  • Автор не несет ответственности за потерю средств
  • Соблюдайте ToS Rome Protocol

🙏 Благодарности

  • Rome Protocol team за инновационную L2 платформу
  • Solana Foundation за robust devnet infrastructure
  • Playwright team за отличный браузерный движок
  • Ethers.js за powerful Web3 библиотеку
  • XLSX.js за мощную работу с Excel файлами

Made with ❤️ for Rome Protocol community

Запускайте, тестируйте, получайте награды! Вся статистика в Excel! 🎉📊

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published