StarLabs
TelegramChatGitHub
  • 👋Welcome
  • Software
    • CampNetwork
      • RU
      • ENG
    • Somnia
      • RU
      • ENG
    • MegaETH
      • RU
      • ENG
    • 0G
      • RU
      • ENG
  • Monad
    • RU
    • ENG
  • Discord
    • RU
    • ENG
  • Twitter
    • RU
    • ENG
  • 👀Other
    • ⚠️Common errors + fixes
Powered by GitBook
On this page
  • ⚙️ Установка
  • 📁 Подготовка (папка data)
  • 📝 Config.yaml
  • 💾 База данных
  • ▶️ Использование
  • Внимание! Квесты Loyalty работают только на статик прокси. Вы можете использовать резидентские прокси, но без ротации айпи адреса.
  • ✅ Tasks
  1. Software
  2. CampNetwork

RU

https://github.com/0xStarLabs/StarLabs-CampNetwork

⚙️ Установка

Требования:

  • Python версии 3.11.6 - 3.11.11

Скачивание:

1 | Клонировать репозиторий

git clone https://github.com/0xStarLabs/StarLabs-CampNetwork.git
cd StarLabs-CampNetwork

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 прокси.

Для квестов Loyalty прокси должны быть только СТАТИЧЕСКИЕ БЕЗ СМЕНЫ АЙПИ.

discord_tokens.txt - дискорд токены. 1 строка = 1 токен.

twitter_tokens.txt - твиттер токены. 1 строка = 1 токен. Если токенов больше чем приватных ключей, то бот будет заменять нерабочий твиттер токен на один из лишних и перезаписывать в файле при условии что в конфиге включена функция REPLACE_FAILED_TWITTER_ACCOUNT: true.

emails.txt - почты. 1 строка = 1 почта в формате email:password.

📝 Config.yaml

В этой секции будет написано детально про каждую функцию в файле config.yaml.

SETTINGS

THREADS: 1 - количество потоков/одновременных аккаунтов которые будет делать бот.

ATTEMPTS: 5 - при ошибках, сколько раз бот будет пытаться выполнить действие.

ACCOUNTS_RANGE: [0, 0] - диапазон аккаунтов для работы. 
Пример: [3, 6] значит бот выполнит аккаунты начиная с третьего до шестого.
Счет начинается с 1.

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.
FLOW

SKIP_FAILED_TASKS: false - пропускать невыполненные задания или нет.
Если стоит false, то бот закончит работу если у него не получилось выполнить какое-то задание.
Если стоит true, тогда бот пропустит задание и начнет делать следующее.
CAPTCHA

SOLVIUM_API_KEY: xxxxxxxx - API ключ для капчи от https://t.me/solvium_crypto_bot.
LOYALTY

REPLACE_FAILED_TWITTER_ACCOUNT: true. Если произойдет ошибка твиттер аккаунта или он будет заблокирован, то бот заменит этот твиттер аккаунт на другой из файла и перезапишет его.
MAX_ATTEMPTS_TO_COMPLETE_QUEST - 15. Количество попыток чтобы подтвердить квест. По умолчанию 15, если платформа работает в моменте плохо, можете поставить больше, чтобы дать боту больше времени на ожидание подтверждение квеста.
RPCS

CAMP_NETWORK: ["https://rpc.basecamp.t.raas.gelato.cloud"] - RPC для сети.
Можно указать несколько, бот будет использовать ту, которая работает.
OTHERS

SKIP_SSL_VERIFICATION: true - пропускать ssl верификацию.
Если видите ошибки связанные с SSL в консоли, попробуй поставить false.

USE_PROXY_FOR_RPC: true - использовать ли прокси для RPC.
CRUSTY_SWAP

Функция для обмена токенов ETH на тестовые токены CAMP через бридж https://www.crustyswap.com/

NETWORKS_TO_REFUEL_FROM: ["Arbitrum", "Optimism", "Base"] - сети из которых обменивать токены. Если указано несколько сетей, то бот случайно выберет одну из тех, где есть достаточно ETH для обмена.

AMOUNT_TO_REFUEL: [0.0002, 0.0003] - диапазон в токенах ETH для обмена.
MINIMUM_BALANCE_TO_REFUEL: 1000 - если баланс тестовых токенов выше указанного значения, то бридж не запустится.
WAIT_FOR_FUNDS_TO_ARRIVE: true - ждать пока токены придут на кошелек или нет.
MAX_WAIT_TIME: 999999 - максимальное время (в секундах) ожидания поступления токенов на кошелек
BRIDGE_ALL: false - бриджить весь баланс в ETH или нет.
BRIDGE_ALL_MAX_AMOUNT: 0.01 - работает только если предыдущий пункт стоит true. 
EXCHANGES

Функция для вывода токенов ETH из бирж на кошельки.

name: "OKX" - выбор из какой биржи делать вывод. Поддерживаются "OKX" и "BITGET".
apiKey: 'x' - API ключ биржи.
secretKey: 'x' - API secret ключ биржи.
passphrase: 'x' - кодовая фраза-пароль для API биржи.  
withdrawals:
- currency: "ETH" # ONLY ETH
  networks: ["Arbitrum", "Optimism"] - сети в которые бот выведет токены из биржи.
  Поддерживаются: "Arbitrum", "Base", "Optimism"

  min_amount: 0.0004 - минимальное количество ETH для вывода.
  max_amount: 0.0006 - максимальное количество ETH для вывода.
  max_balance: 0.005 - если баланс на кошельке в ETH выше указанного значения, то бот пропустит этот аккаунт. То есть функция вывода запустится в том случае, если на кошельке 0.004999 ETH и меньше.
  
  wait_for_funds: true - ждать пока токены придут на кошелек или нет.
  max_wait_time: 99999 - максимальное время (в секундах) ожидания поступления токенов на
  кошелек.

  retries: 3 - количество попыток для вывода.

💾 База данных

Вся работа в боте управляется непосредственно через базу данных. База данных создается и хранится в папке /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 вставляете новые кошельки и хотите добавить их в базу данных. Чтобы не перезаписывать всю базу, можете воспользоваться этой функцией и она просто добавит новые кошельки в базу.

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

Внимание! Квесты Loyalty работают только на статик прокси. Вы можете использовать резидентские прокси, но без ротации айпи адреса.

Перед запуском бота необходимо открыть файл tasks.py в главной папке проекта и там настроить порядок выполнение действий как указано в примере.

После этого можно запускать бота командой python main.py В меню необходимо выбрать 3 после чего откроются настройки базы данных. Для первого запуска нажмите 1 (Create/Reset Database) и бот создает базу данных в папке data. Для каждого ключа будут сгенерированы маршруты действий. Так же в этом меню вы сможете смотреть посмотреть оставшиеся задания, пересоздать базу и тд. Теперь можно выходить в меню кнопкой 6 и запускать бота - 1.

Настоятельно рекомендуется запускать квесты Loyalty по одному, то есть каждую кампанию отдельно. Запустив все кампании за один раз кратно повышается шанс блокировки твиттер аккаунта, имейте это ввиду.

Получение токенов из крана (faucet) требует наличие ETH в сети Ethereum на кошельке, либо 3 транзакции в сети Ethereum.

✅ Tasks

Инструкция по тому как переключать модули в боте

Для того чтобы переключить модуль, вам нужно в папке с ботом найти файл под названием tasks.py, открыть его при помощи редактора кода либо обычного блокнота, в файле вы увидите переменную TASKS которая выглядит так:

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

Пример пресета внутри которого есть модуль:

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

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

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

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

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

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

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

PreviousCampNetworkNextENG

Last updated 20 days ago

Конфиг можно настраивать как через текстовый документ в файле config.yaml, так и через веб интерфейс (пример на скриншоте внизу). В случае, если веб конфиг из меню не работает по каким-то причинам, вы всегда можете редактировать его вручную в файле config.yaml. Так же вы можете обратится к нам в чат за помощью. Для запуска веб интерфейса необходимо запустить бота командой python main.py и выбрать пункт меню [2] Edit config. После этого бот запустит конфиг по URL адресу который вы можете открыть в любом браузере у себя на ПК и настраивать конфиг оттуда. По умолчанию бот сам открывает веб браузер с нужным URL. Данный конфиг и вебсайт запускается и работает локально у вас на ПК. После настройки функций в конфиге нажми кнопку Save Configuration в верхнем правом углу страницы. Для выхода из конфига вернитесь в консоль и несколько раз нажмите CTRL + C, либо же просто закройте консоль.

https://t.me/StarLabsChat
http://127.0.0.1:3456