RU
https://github.com/0xStarLabs/StarLabs-MegaETH
⚙️ Установка
Требования:
Python версии 3.11.6
Скачивание:
1 | Клонировать репозиторий
git clone https://github.com/0xStarLabs/StarLabs-MegaETH.git
cd StarLabs-MegaETH
2 | Создать виртуальное окружение
python -m venv venv
venv\Scripts\activate
3 | Установить зависимости
pip install -r requirements.txt
4 | Запуск (после настройки)
python main.py
📁 Подготовка (папка data)
Здесь находятся все данные юзера необходимые для работы.
private_keys.txt
- приватные ключи от кошельков. 1 строка = 1 ключ.
proxies.txt
- прокси. 1 строка = 1 прокси, либо если прокси меньше чем аккаунтов, тогда они будут повторяться пока друг за другом чтобы хватило на все аккаунты. Формат прокси user:pass@ip:port. Поддерживаются ТОЛЬКО HTTP прокси.
📝 Config.yaml
В этой секции будет написано детально про каждую функцию в файле config.yaml
.
SETTINGS
THREADS: 1 - количество потоков/одновременных аккаунтов которые будет делать бот.
ATTEMPTS: 5 - при ошибках, сколько раз бот будет пытаться выполнить действие.
ACCOUNTS_RANGE: [0, 0] - диапазон аккаунтов для работы.
Пример: [3, 6] значит бот выполнит аккаунты начиная с третьего до шестого.
EXACT_ACCOUNTS_TO_USE: [] - !Работает только если ACCOUNTS_RANGE: [0, 0].
Пример: [1, 3, 7] что значит бот выполнит только аккаунты 1 3 и 7.
SHUFFLE_WALLETS: false - перемешивать аккаунты перед каждым запуском или нет.
Если true, то бот каждый раз будет выполнять аккаунты в случайном порядке.
PAUSE_BETWEEN_ATTEMPTS: [0, 0] - пауза в секундах между попытками выполнить одно действия.
Пример: [3, 10] - пауза будет от 3 до 10 секунд случайная.
PAUSE_BETWEEN_SWAPS: [0, 0] - пауза в секундах между отправкой транзакций.
Пример: [3, 10] - пауза будет от 3 до 10 секунд случайная.
RANDOM_PAUSE_BETWEEN_ACCOUNTS: [0, 0] - пауза в секундах между аккаунтами.
Пример: [3, 10] - пауза будет от 3 до 10 секунд случайная.
RANDOM_PAUSE_BETWEEN_ACTIONS: [0, 0] - пауза в секундах между заданиями/tasks.
Пример: [3, 10] - пауза будет от 3 до 10 секунд случайная.
RANDOM_INITIALIZATION_PAUSE: [0, 0] - пауза в секундах перед стартом каждого аккаунта.
К примеру у вас 10 потоков, и пауза стоит [5, 60]
Значит каждый аккаунт отсчитает от 5 секунд до минуты перед началом работы.
Используется чтобы все аккаунты не стартовали в одно время.
SEND_TELEGRAM_LOGS: false - отравлять в телеграм логи о функциях или нет. true/false.
TELEGRAM_BOT_TOKEN: "12317283:lskjalsdfasdfasd-sdfadfasd" - токен телеграм бота созданного в @BotFather
TELEGRAM_USERS_IDS: [235123432] - айди телеграм юзеров, кому отправлять логи.
ВНИМАНИЕ! Бот отправляет только в лс юзерам, не в чаты.
Свой айди аккаунта можно получить в тг боте @GetChatID_IL_BOT.
WAIT_FOR_TRANSACTION_CONFIRMATION_IN_SECONDS: 120 - сколько секунд ждать выполнение транзакции.
FLOW
SKIP_FAILED_TASKS: false - пропускать невыполненные задания или нет.
Если стоит false, то бот закончит работу если у него не получилось выполнить какое-то задание.
Если стоит true, тогда бот пропустит задание и начнет делать следующее.
FAUCET
SOLVIUM_API_KEY: xxxxxxxxxxxxxxx - ключ от капча солвера Solvium.
ССЫЛКА: https://t.me/solvium_crypto_bot.
RPCS
MEGAETH: ["https://carrot.megaeth.com/rpc"] - RPC для сети.
Можно указать несколько, бот будет использовать ту, которая работает.
OTHERS
SKIP_SSL_VERIFICATION: true - пропускать ssl верификацию.
Если видите ошибки связанные с SSL в консоли, попробуй поставить false.
USE_PROXY_FOR_RPC: true - использовать ли прокси для RPC.
SWAPS
>>> BEBOP
BALANCE_PERCENTAGE_TO_SWAP: [5, 10] - сколько процентов от баланса обменивать.
SWAP_ALL_TO_ETH: false - если стоит true, тогда бот будет обменивать все токены в ETH.
>>> GTE
BALANCE_PERCENTAGE_TO_SWAP: [5, 10] - сколько процентов от баланса обменивать.
SWAP_ALL_TO_ETH: true - если стоит true, тогда бот будет обменивать все токены в ETH.
SWAPS_AMOUNT: [3, 5] - количество свапов на каждый запуск бота.
STAKINGS
>>> EKO_FINANCE:
CHANCE_FOR_MINT_TOKENS: 0 - с каким шансом минтить тестовые токены.
Если стоит 100, то каждый запуск бот будет минтить 4 токена.
Если стоит 0, бот не будет минтить токены вообще.
Оптимально выставить 50 для рандомного шанса.
BALANCE_PERCENTAGE_TO_STAKE: [5, 10] - какой баланс токенов депозитить в стейкинг.
Для стейкинга используются тестовые токены, не ETH.
UNSTAKE: true - делать ли вывод из стейкинга.
Если стоит true, то бот выведет все деньги из стейкинга.
MINTS
>>> XL_MEME:
Бот умеет только покупать токены, продавать нет.
BALANCE_PERCENTAGE_TO_BUY: [10, 20] - процент баланса ETH на который покупать токены.
CONTRACTS_TO_BUY: [] - список контрактов токенов для покупки.
Если список пустой, бот сам получит рандом контракты и купит токен.
>>> OMNIHUB:
MAX_PRICE_TO_MINT: 0.00011 - бот не будет покупать НФТ которые дороже этого числа.
Конфиг можно настраивать как через текстовый документ в файле config.yaml, так и через веб интерфейс (пример на скриншоте внизу). В случае, если веб конфиг из меню не работает по каким-то причинам, вы всегда можете редактировать его вручную в файле config.yaml. Так же вы можете обратится к нам в чат https://t.me/StarLabsChat за помощью. Для запуска веб интерфейса необходимо запустить бота командой python main.py и выбрать пункт меню [2] Edit config. После этого бот запустит конфиг по URL адресу http://127.0.0.1:3456 который вы можете открыть в любом браузере у себя на ПК и настраивать конфиг оттуда. По умолчанию бот сам открывает веб браузер с нужным URL. Данный конфиг и вебсайт запускается и работает локально у вас на ПК. После настройки функций в конфиге нажми кнопку Save Configuration в верхнем правом углу страницы. Для выхода из конфига вернитесь в консоль и несколько раз нажмите CTRL + C, либо же просто закройте консоль.

💾 База данных
Вся работа в боте управляется непосредственно через базу данных. База данных создается и хранится в папке /data под именем accounts.db. Открыть её вручную вы можете через специальные программы для SQL по типу DB Browser for SQLite
.
Чтобы начать работу и создать базу данных необходимо запустить бота командой python main.py и выбрать пункт меню [3] 💾 Database actions. Дальше опишу каждую из функций.
[1] 🗑 Create/Reset Database. Самая основная функция, которая создает новую базу данных либо перезаписывает уже существующую. Необходимо использовать при первом запуске бота, либо когда хотите перезаписать кошельки, прокси, либо задачи для кошельков.
[2] ➕ Generate New Tasks for Completed Wallets. Используется для генерации новых заданий для кошельков, которые выполнили свои предыдущие задания. Пример: может быть такое, что часть ваших кошельков выполнила все действия, часть еще имеет незаконченные задания. Чтобы не перезаписывать ВСЕ задания и дать части кошельков возможность закончить их цепочку, вы можете выбрать эту функцию и она обновит задания только для кошельков, которые уже не имеют задач.
[3] 📊 Show Database Contents. Выводит на экран содержимое базы данных. Кошельки, прокси, задачи и тд.
[4] 🔄 Regenerate Tasks for All Wallets. Пересоздает задания для ВСЕХ кошельков в базе.
[5] 📝 Add Wallets to Database. Добавляет новые кошельки в базу данных. К примеру у вас в базе есть 10 кошельков, вы в data/private_keys.txt вставляете новые кошельки и хотите добавить их в базу данных. Чтобы не перезаписывать всю базу, можете воспользоваться этой функцией и она просто добавит новые кошельки в базу.
▶️ Использование
Перед запуском бота необходимо открыть файл tasks.py
в главной папке проекта и там настроить порядок выполнение действий как указано в примере.
После этого можно запускать бота командой python main.py
В меню необходимо выбрать 3 после чего откроются настройки базы данных. Для первого запуска нажмите 1 (Create/Reset Database) и бот создает базу данных в папке data. Для каждого ключа будут сгенерированы маршруты действий.
Так же в этом меню вы сможете смотреть посмотреть оставшиеся задания, пересоздать базу и тд.
Теперь можно выходить в меню кнопкой 6 и запускать бота - 1.
✅ Tasks
Инструкция по тому как переключать модули в боте
Для того чтобы переключить модуль, вам нужно в папке с ботом найти файл под названием tasks.py, открыть его при помощи редактора кода либо обычного блокнота, в файле вы увидите переменную TASKS которая выглядит так:

TASKS Это список пресетов, пресет это список из модулей, которые будет запускать бот.
Пример пресета внутри которого есть модуль:

Как видите FAUCET это лишь название пресета, которое может быть какое угодно, а внутри него модуль "faucet", который отвечает за запуск крана.
Вы можете создать свой пресет, просто написав любое название к примеру:

Внутри него вы можете добавить какие модули вы хотите использовать пример dusted, итого:

Затем чтобы запустить данный пресет, вы копируете его название и вставляете в TASKS, итого:

В пресете вы можете использовать разные типы рандомизации. К примеру квадратные скобки будут означать, что бот выберет один модуль из всех что внутри них, в нашем случае либо dusted, либо ambient

Круглые скобки означает, что бот выполнит все модули, что внутри них, но в случайном порядке

Можно создавать сколько угодно строчек, только не забывайте ставить запятую

Last updated