Bot for automating actions in the Starknet network
## 🌟 Main features
### 🌠 Starknet Network:
- 🔄 Swaps and work with money:
- Jediswap
- mySwap
- 10K Swap
- 🎨 Minting NFT:r
- Starknet.id
- StarkVerse
- 💸 Landing:
- zkLend
- 📧 Отправка почта:
- Dmail
- 💰 Translations of ETH:
- в сети Ethereum, Arbitrum, Optimism and vice versa в Starknet through the bridge Orbiter
- in Ethereum, Arbitrum, Optimism networks and vice versa in Starknet through our bridge Layerswap
- в сеть Ethereum and из неё through the official bridge StarkGate 📊 OKX exchange
- 💰 Вывод ETH с биржи в сети Ethereum, Starknet, Arbitrum, Optimism
- 💰 Вывод ETH с сетей Ethereum, Starknet, Arbitrum, Optimism на биржу
- 💰 Перевод ETH with sub accounts on the main account 👛 Работа с кошельками
- 🔑 Создание кошельков ArgentX and Braavos
- 🔑 Деплой кошельков в сети Starknet 🛠 Features Our Starknet Bot has the most flexible setting! In this bot, you can configure:
- List of actions both for all accounts at once and for each account individually
- Внесение онлайн модулей по желанию улужба и параметры для качество из модулей
- The possibility of generating Braavos or ArgentX wallets with their subsequent deployment in the Starknet network
- Ability to save the last action and continue working with the next action after restarting the bot
- Ability to install a proxy for each individual account
- Ability to use mobile proxies for each individual account
- The ability to withdraw funds in the Ethereum, Starknet, Arbitrum and Optimism networks from the OKX exchange, which greatly simplifies the replenishment of account balances
- It is possible to withdraw funds to OKX subaccounts with subsequent transfer of ETH to the main account
- The ability to independently set the address of RPC servers in the file
RPC.json - Setting the waiting time between the execution of each action
- Number of repeated actions after the error for each individual account
- Limiting the cost of gas in the Ethereum network, which directly affects the cost of gas in the Starknet network
Starknet Bot
Бот для автоматизации действий в сети Starknet
🌟 Основные возможности
🌠 Сеть Starknet:
- 🔄 Свапы и работа с пулами:
- Jediswap
- mySwap
- 10K Swap
- 🎨 Минтинг NFT:
- Starknet.id
- StarkVerse
- 💸 Лендинг:
- zkLend
- 📧 Отправка почты:
- Dmail
- 💰 Переводы ETH:
- в сети Ethereum, Arbitrum, Optimism и обратно в Starknet через мост Orbiter
- в сети Ethereum, Arbitrum, Optimism и обратно в Starknet через мост Layerswap
- в сеть Ethereum и из неё через официальный мост StarkGate
📊 Биржа OKX
- 💰 Вывод ETH с биржи в сети Ethereum, Starknet, Arbitrum, Optimism
- 💰 Вывод ETH с сетей Ethereum, Starknet, Arbitrum, Optimism на биржу
- 💰 Перевод ETH с субаккаунтов на основной аккаунт
👛 Работа с кошельками
🛠 Особенности
Наш Starknet Bot отличается максимально гибкой настройкой! В данном боте можно настроить:
- Список действий как для всех аккаунтов сразу, так и для каждого аккаунта индивидуально
- Внесение любых модулей по желанию пользователя и настройка параметров для каждого из модулей
- Возможность генерации кошельков Braavos или ArgentX с их последующим деплоем в сети Starknet
- Возможность сохранения последнего действия и продолжения работы со следующего действия после перезапуска бота
- Возможность установки прокси для каждого аккаунта индивидуально
- Возможность использования мобильных прокси для каждого аккаунта индивидуально
- Возможность вывода средств в сети Ethereum, Starknet, Arbitrum и Optimism с биржи OKX, что значительно упрощает пополнение балансов аккаунтов
- Возможно вывода средств на субаккаунты OKX с последующим переводом ETH на основной аккаунт
- Возможность самостоятельно задать адреса серверов RPC в файле
RPC.json - Настройка времени ожидания между выполнениями каждого действия
- Количество повторов действия после ошибки для каждого аккаунта индивидуально
- Ограничение стоимости газа в сети Ethereum, которое прямо влияет на стоимость газа в сети Starknet
🚀 Установка и запуск
⚒ Установка зависимостей
- Для пользователей 🪟 Windows:
- Установите chocholatey, введя команду, указанную на сайте в PowerShell от имени администратора
- Откройте терминал и выполните команду
choco install mingw - Закройте терминал
- Для пользователей 🐧 Linux:
- Откройте терминал и выполните команду
sudo apt install -y libgmp3-dev
- Откройте терминал и выполните команду
- Для пользователей 🍎 MacOS:
- Откройте терминал и выполните команду
brew install gmp - Для владельцев процессоров M1/M2 выполните команду
CFLAGS=-I`brew --prefix gmp`/include LDFLAGS=-L`brew --prefix gmp`/lib - Установите Git
- Откройте терминал и выполните команду
🐍 Установка Python
- Перейдите на официальный сайт Python
- Наведя мышь на раздел “Downloads”, скачайте последнюю версию
- Запустите установщик и обязательно поставьте галочку “Add Python to PATH”
🤖 Установка бота
- На GitHub нажмите кнопку “Code” -> “Download ZIP” и разархивируйте в выбранную папку
- Откройте терминал и перейдите в папку с ботом:
cd "path/to/bot", гдеpath/to/bot– путь к папке с ботом - Выполните команду
python install_ed25519_blake2b.py - Установите все необходимые библиотеки:
pip install -r requirements_macos.txtдля пользователей 🍎 MacOSpip install -r requirements.txtдля пользователей 🪟 Windows и 🐧 Linux
- Переименуйте файл
accounts_dest.xlsxвaccounts.xlsx - Настройте аккаунты и действия в файле
accounts.xlsx - Запустите бота командой:
python main.py
📃 Лог о выполненных действиях
После работы программы история всех выполненных дейсвтий вместе со статусом завершения будет сохранена в файлеstarknet.logв папке с ботом
📋 Как настроить accounts.xlsx
В файле accounts.xlsx находятся несколько листов:
accounts: аккаунты, для которых будет работать ботaccounts_example: пример заполнения аккаунтовtasks: общий список действий для всех аккаунтовtasks_example: пример заполнения действийtasks_description: описание всех модулей и настроек. Здесь можно ввести желаемое значение в столбце “Необходимое значение”, и в столбце “settings line” сформируется строка настроек, которую нужно вставить в столбец “settings” листа tasks.
📖 Описание листа accounts:
- private_key: приватный ключ аккаунта
- address: адрес аккаунта
- min_sleep_time: минимальное время ожидания между выполнениями действий (по умолчанию 1)
- max_sleep_time: максимальное время ожидания между выполнениями действий (по умолчанию 10)
- max_retries: количество повторов выполнения функции после ошибки (по умолчанию 0)
- max_eth_gwei: максимальная стоимость газа в сети Ethereum (по умолчанию не ограничено)
- proxy: прокси для аккаунта (по умолчанию не используется). Формат:
login:password@host:port - mobile_proxy_changelink: ссылка на смену мобильного прокси (по умолчанию не используется)
- metamask_private_key: приватный ключ аккаунта для аккаунтов в сети Ethereum и прочих. Используется в мостах
- starknet_okx_deposit_address: адрес суб-аккаунта OKX для пополнения баланса аккаунта в сети Starknet
- evm_okx_deposit_address: адрес суб-аккаунта OKX для пополнения баланса аккаунта в сетях Ethereum, Arbitrum, Optimism
- okx_api_key, okx_secret_key, okx_passphrase: ключи API для биржи OKX. Если не указать хотя бы одно из трёх значений, вывод работать не будет
🛠 Как настроить список задач
Перед настройкой списка задач рекомендуем ознакомиться с листом tasks_description, где описаны все модули и настройки.
Далее есть 3 метода:
- Использовать специальный сайт для генерации строк настроек для модулей (рекомендуемый способ):
- Выберите желаемый модуль и функцию.
- Введите параметры или оставьте их по умолчанию.
- Нажмите “Generate Settings Line”.
- Если ошибок нет, нажмите “Copy to Clipboard”.
- После этого вставьте скопированную строку на лист
tasks.
- Вносить необходимые значения в столбец
Gлистаtasks_descriptionи в столбцеIбудет формироваться готовая строка настроекsettings, которую нужно будет перенести на листtasksв соответствующий столбец, при этом вручную написав названия модуля и фукнции - Писать настройки вручную по примеру с листа
tasks_example. Этот способ не рекомендуется, так как есть высокий шанс допустить ошибку. Важно помнить, что разные параметры разделяются запятой, а значения внутри списков – пробелом
📋 Индивидуальные настройки для отдельных аккаунтов
Вы можете создавать индивидуальные настройки для аккаунтов, создавая листы с названиями формата tasks_1, где цифра – порядковый номер аккаунта из листа accounts (порядковый номер, а не строка), а лист tasks_1 будет списком действий для самого первого записанного аккаунта.
Помните, что нужно сохранять заголовки (module_name, function_name, settings) и не удалять их, иначе бот не сможет прочитать список действий.
📌 Примечания
Если на листеtasks_descriptionдля модуля не указана функция, значит для этого модуля есть только одна основная функция
Для параметровswap_tokens,pool_tokensпо умолчанию используются все возможные токены. Если вы принудительно добавите в эти списки хотя бы 1 токен, будет использоваться только этот 1. Для параметраexclude_tokensнаоборот – список пуст, но после добавления токенов в этот список даже в случае добавления таких же токенов вapprove_tokensи прочие списковые настройки, они будут оттуда удалены ботом. Список всех возможных токенов для того или иного модуля указан на том же сайте
Если вы укажете только один параметр из пар (min/max_amount,min/max_amount_usd), то этот параметр при работе бота учитываться не будет и будут использоваться проценты
Если вы укажете все эти параметры, будут использоваться только параметрыmin/max_amount_usd
В целом рекомендуется указывать только одну пару параметров, чтобы избежать неожиданного поведения бота.
🔑 Как получить ключ API для биржи OKX
- Перейти на страницу Ключи API
- Нажать кнопку “Создать ключ API V5”
- Выбрать “Торговля API”, ввести любое имя (например, Starknet-Bot), ввести пасс-фразу (которую потом занести в столбец
okx_passphraseлистаaccounts) - Добавить IP адрес (прокси для OKX не используется, поэтому указывайте IP-адрес, с которого будете запускать бота). Если IP-адрес не добавить, вывод средств будет невозможен
- В разделе “Доступы” обязательно выбрать “Вывод”, иначе бот не сможет выводить средства с биржи, а также “Торговля”, если вы планируете использовать функцию перевода ETH с субаккаунтов на основной аккаунт OKX
- Нажать “Подтвердить”, ввести все подтверждения, и ключ будет создан
- Добавить адреса, на которые будет совершаться вывод на странице Книга адресов ETH – также на ней нужно обязательно поставить галочку “Сохранить адрес как проверенный, чтобы пропустить будущую проверку”
👛 Как сгенерировать и задеплоить кошельки для Starknet
- Откройте терминал и перейдите в папку с ботом:
cd "path/to/bot", гдеpath/to/bot– путь к папке с ботом (как это делается при запуске бота) - Выполните команду
python create_wallets.py - Введите значения, которые он будет запрашивать (тип кошельков, их количество и так далее)
- Кошельки будут записаны в файл
wallets.csvв папке с ботом. В нём будет 4 столбца: wallet_name (тип кошелька), mnemonic (сид-фраза), private_key (приватный ключ) и address (адрес кошелька) - Для того, чтобы его задеплоить, нужно добавить в список задач действие
Deploy, указав тип кошелька (по умолчанию Braavos)
📌 Примечания
Если кошелек уже задеплоен, заново деплоиться он не будет, и ошибка не возникнет
Перед деплоем кошелька обязательно нужно пополнить баланс, так как деплой кошелька – это транзакция, на которую требуется газ
Настоятельно рекомендуется использовать на всех кошельках один и тот же тип, чтобы случайно не задеплоить кошелёк некорректно
