Софты
January 9, 2024
Attack Machine - AIO
Поддержка работы с БД (Google реализация)Защита от Price Impact на всех DEXВсе данные от аккаунтов хранятся в ExcelRhino / LayerSwap / Orbiter (все доступные L2 сети)OKX (ввод / вывод / сбор средств с субАккаунтов)Прокси (мобильные в том числе)Работа в асинхронном режиме (привет 1к+ кошельков)Софт знает дату дропа (WHEN?)
Запуск работы софта по Google таблице. Эта тачка сама будет брать информацию из таблицы и создавать для каждого аккаунта свой уникальный маршрут прогона.Запуск работы софта по классическим роутам. Сначала необходимо создать маршрут в настройках. Далее сгенерировать его с помощью следующей функции.Генерация уникального маршрута для каждого аккаунта. Софт сгенерирует маршрут исходя из ваших настроек в файле settings.Создание файла привязки ваших кошельков к адресам OKX. Эта функция позволит проверить все созданные зависимости для вывода средств во избежания проблем с пересечением аккаунтов.Проверка всех прокси на работоспособность. В моменте проверит 100+ прокси.Сбор статистики для всех кошельков. Также быстро это делает, но необходимы прокси для корректной работы. *05.12.2023 работает только для zkSyncWHEN? без комментариев.Выход из консоли.
1. OKX (Депозит / Вывод / Сбор средств с субАккаунтов) 2. LayerSwap (Bridge по любым направлениям)3. Orbiter (Bridge по любым направлениям) 4. Rhino (Bridge по любым направлениям) 5. Native bridge (офф. мост Bridge / Withdraw) 6. Upgrade Wallet (обновление кошелька Starknet)7. Deploy Wallet (деплой кошелька Starknet)8. Merkly (Refuel во все сети из L2)9. Bungee (Refuel во все сети из zkSync, Base)10. Mute (Свапы между стейблами и ETH + ввод и вывод ликвидности) 11. SyncSwap (Свапы между стейблами и ETH + ввод и вывод ликвидности) 12. Maverik (Свапы между стейблами и ETH + ввод и вывод ликвидности) 13. Velocore (Свапы между стейблами и ETH)14. SushiSwap (Свапы между стейблами и ETH)15. Uniswap (Свапы между стейблами и ETH)16. XYfinance (Свапы между стейблами и ETH) 17. Rango (Свапы между стейблами и ETH) 18. OpenOcean (Свапы между стейблами и ETH) 19. 1inch (Свапы между стейблами и ETH) 20. zkSwap (Свапы между стейблами и ETH) 21. Rango (Свапы между стейблами и ETH) 22. SpaceFI (Свапы между стейблами и ETH) 23. WooFI (Свапы между стейблами и ETH) 24. veSync (Свапы между стейблами и ETH)25. iZumi (Свапы между стейблами и ETH) 26. PancakeSwap (Свапы между стейблами и ETH)27. Velocore (Свапы между стейблами и ETH)28. AVNU (Свапы между стейблами и ETH) 29. Protoss (Свапы между стейблами и ETH)30. SithSwap (Свапы между стейблами и ETH)31. mySwap (Свапы между стейблами и ETH)32. 10kSwap (Свапы между стейблами и ETH)33. JediSwap (Свапы между стейблами и ETH)34. EraLend (Ввод и вывод ликвидности + вкл/выкл collateral) 35. Basilisk (Ввод и вывод ликвидности + вкл/выкл collateral)36. ReactorFusion (Ввод и вывод ликвидности + вкл/выкл collateral)37. zkLend (Ввод и вывод ликвидности + вкл/выкл collateral) 38. LayerBank (Ввод и вывод ликвидности + вкл/выкл collateral) 39. ZeroLend (Ввод и вывод ликвидности)40. Nostra (Ввод и вывод ликвидности)41. ZNS (Минт домена для zkSync)42. ENS (Минт домена для zkSync)43. Safe (Gnosis) (Создание сейфа на zkSync и Base)44. MailZero (Минт Free NFT)45. Zerius (Минт / бридж NFT + Refuel во все сети из L2)46. Tevaera (Минт двух NFT)47. Omnisea (Создание коллекции)48. Starknet ID (Минт Starknet identity)49. StarkStars (Минт рандомной NFT)50. zkStars (Минт рандомной NFT)51. Dmail (Отправка сообщений)52. L2Telegraph (Отправка сообщений + минт и брижд во все сети)53. Sending ETH to random addresses (Отправка пыли в ETH на рандомные адресса)54. Wrap/Unwrap ETH
В файле settings вы сможете увидеть подробное описание каждой настройки в софте, но самые важные я опишу и здесь. В целом машина была спроектирована с максимальным комфортом для пользования и настроек осталось по минимуму.Для работы 1inch, LayerSwap, OKX, Telegram уведомлений, Google таблицы необходимо вставить API ключи. Не забудьте про них!
Настройка количества токенов может определяться либо количественно(0.01, 0.02), либо в процентном соотношении к балансу на аккаунте ("20", "30"), кроме AMOUNT_PERCENT (его указывайте только в %)Все настройки применяются только к токену ETH, остальные токены выводятся или свапаются на 100% от баланса
[CODE=code]Количество - (0.01, 0.02)Процент - ("10", "20") ⚠ Значения в кавычках[/CODE]
Общие настройки Amount для всех модулей:
На скриншоте сверху вы можете увидеть, какие настройки сумм присутствуют в софте. Из особенностей, это настройка MIN_BALANCE. Она проверяет указанный баланс на кошельке, если его нету, то кошелёк считается не рабочим. Софт проверит ETH и все стейблы в сети, после чего сложит их баланс и сравнит с MIN_BALANCE.Теперь перейдем подробнее к модулям. Большое внимание уделено бриджам и работе OKX, остальные настройки в той или иной степени общие.
Софт поддерживает ввод и вывод OKX, также есть возможность собрать средства с СубАккаунтов на основной счет.
Настройки модуля OKX:
Если вы хотите положить средства на аккаунт, то сначала его необходимо добавить в Белый список на сайте OKX. После того как вы его добавили, необходимо настроить сеть пополнения для аккаунта (OKX_WITHDRAW_NETWORK) и сумму вывода (OKX_WITHDRAW_AMOUNT)
Для вывода средств на биржу, вам необходимо продумать план, так как не все L2 сети поддерживаются для пополнения OKX. Также вам необходимо заполнить данные в таблице под столбцом "OKX address" и сгенерировать файл зависимости ваших кошельков к адресам OKX. Делается это для того, чтобы вы могли проверить куда софт будет депать ваши средства и убедиться, что пересечений нету.Например вам нужно пополнить OKX, но ваши деньги находятся в сети Base. Вот поэтапная инструкция:Для осуществления вашего плана, сначала необходимо сделать бридж в выбранную сеть, которая поддерживается OKX (OKX_DEPOSIT_NETWORK). Если средства уже в этой сети, то выключите эту функцию (OKX_BRIDGE_NEED)Далее, вы должны выбрать какие мосты будут участвовать в этом процессе (OKX_BRIDGE_MODE), софт выберет один случайный.Затем, вам необходимо указать % от баланса, который вы хотите забриджить в сеть депозита OKX (OKX_BRIDGE_AMOUNT).Указать сумму депозита из сети, в которую вы забриджили ваш баланс (OKX_DEPOSIT_AMOUNT)
Все настройки простые и одинаковые для всех трех мостов, поддерживаются все популярные L2 сети. Перед настройками проверьте руками - работает ли, та или иная сеть в мостах, софт сам проверяет это, но все-же не надо его напрягать по пустякам. Настройки относятся ко всем бриджам в софте.
[CODE=code]На 05.12.2023 софт работает только с токеном ETH[/CODE]
*Native Bridge - официальный (или не очень) мост для бриджа из ERC20Настройка Bridge модулей:
Пошаговая инструкция по совершению бриджа:
- Самостоятельно проверьте рабочие направления для бриджей на сайте моста и укажите нужные исходящие сети (BRIDGE_CHAIN_ID_FROM) и входящие сети (BRIDGE_CHAIN_ID_TO), софт выберет по одной из каждой настройки.
- Укажите сумму для бриджа (BRIDGE_DEPOSIT_AMOUNT)
BRIDGE_WITHDRAW_AMOUNT необходима только для вывода из нативного моста.
Не забудьте указать EMV кошельки для бриджей в/из Starknet
Настройки LayerZero подобных модулей в софте. Исходящие сети - все популярные L2 блокчейны, входящие все доступные для LayerZero на 05.12.2023. Можно указывать несколько сетей, софт выберет одну для каждой настройки.
Из главных особенностей настроек - это указание количества токенов для refuel в Merkly, Bungee и Zerius.
Для Merkly и Zerius - это (макс, мин) сумма нативных токенов входящей сети
Для Bungee - это (макс, мин) сумма в ETH
На примере Merkly пошагово разберем, как правильно указывать сеть и количество токенов.
- Укажите номера исходящих сетей (SOURCE_CHAIN_MERKLY)
- Укажите номера и суммы для входящих сетей (DESTINATION_MERKLY_DATA), вот пример правильно настройки для отправки случайного количества токенов (от 0.01 до 0.015) из сети Arbitrum в одну из двух сетей, Scroll или zkSync:
[CODE=code]SOURCE_CHAIN_MERKLY = [1]
Здесь собраны все основные настройки для машины. Поменяв пару циферок софт превращается из иномарки "Жигули" в танк T-90, который может хлопать по 1000 аккаунтов за раз. Укажите нужные задержки, включите прокси с газ чекером и лицезрейте сея чудо техники.Про самые важные аспекты перехода из жигулей в танк, расскажу поподробнее.
Для работы со Starknet вам необходимо создать свои приватные RPC. Я советую делать это на alchemy.com, так как они дают 5 бесплатных RPC, с очень хорошими лимитами. По умолчанию - стоит моя RPC, желательно ее от туда убрать и поставить свои)Остальные сети также поддерживают настройку с приватными RPC, но по умолчанию они работают с публичными RPC и их можно не менять.Для изменения этих настроек, вам необходимо пройти в файл: utils/networks.pyИ для каждой RPC в значении rpc указать свои ссылки на подключения к ним(через запятую и в кавычках), вот пример как это сделать на StarknetRPC.Настройка RPС в софте:
[CODE=code]На 05.12.2023 поддерживается zkSync, Starknet, Base, Linea и Scroll.[/CODE]
Настройка GLOBAL_NETWORK, позволяет выбрать главный блокчейн для работы софта. Выбрав Starknet, вам также необходимо указать лист в таблице Excel и Google, чтобы софт не пытался запускать аккаунты старка с помощью приватников EVM.Если вам нужен Omni-chain функционал, ставьте EVM сети.
Благодаря настройке SOFTWARE_MODE, вы можете превратить софт из безобидной игрушки в машину для уничтожения блокчейна. Всего есть два режима:SOFTWARE_MODE = 0 - Разминочный режим (проверить работоспособность)SOFTWARE_MODE = 1 - Боевой режимЕсли серьезно, то SOFTWARE_MODE = 1, включает асинхронный режим для запуска и позволяет прогонять большое кол-во аккаунтов за быстрый промежуток времени. Когда допустимый газ держится не более 2 часов, этот режим вам поможет. SOFTWARE_MODE = 0 запускает софт в последовательном режиме, каждый аккаунт будет крутиться по очереди.В софте есть возможность указать количество аккаунтов для одновременной работы - настройка ACCOUNTS_IN_STREAM. Указав значение 20, когда у вас всего 100 кошельков, софт сделает 5 заходов по 20 кошельков в потоке. Соответственно эта настройка работает только для SOFTWARE_MODE = 1Также если какие то аккаунты завершились с ошибкой или вам нужно указать некоторые, то на помощь придет настройка WALLETS_TO_WORK, на скриншоте сверху подробно описано, как будут запускаться аккаунты при различных установках.
С помощью настройки SAVE_PROGRESS мы можете сохранять прогресс на классических роутах, работает это следующим образом:Сначала вы создаете роуты для каждого кошелька с помощью 3 функции в главном меню.После запуска кошельков, при успешной отработке очередного модуля, софт обновить текущий шаг в софте и сохранит эту информацию.Если SAVE_PROGRESS = True, то софт начнет ровно с того модуля, на котором был завершен предыдущий запуск.Если модуль завершился неуспешно, то софт прекратит выполнение маршрута и не обновит шаг.
При TELEGRAM_NOTIFICATIONS = True, софт будет отправлять уведомления в Telegram, с сводной информацией об аккаунте(название аккаунта, маршрут, блокчейн, итоговый результат)(пример) Уведомление об успешной отработке 2 аккаунтов:
В софте есть две задержки, SLEEP_TIME и SLEEP_TIME_STREAM.Первая отвечает за время задержки между модулями, вторая за время задержки между аккаунтами. Все просто)Чтобы включить задержку, необходимо выставить SLEEP_MODE = True
Для включения проверки газа необходимо указать GAS_CONTROL = True и установить максимальное значение газа (MAXIMUM_GWEI), выше которого софт работать не будет. SLEEP_TIME_GAS отвечает за время очередной проверки текущего газа, а CONTROL_TIMES_FOR_SLEEP нужен для предотвращения одновременного запуска собравшихся аккаунтов, после большого количества проверок. Если количество проверок превысит значение этой настройки, то софт сделает случайную задержку рассчитанную по формуле = SLEEP_TIME_STREAM * номер аккаунтаЗначение GAS_MULTIPLIER определяет коэффициент умножения стандартного Gas Limit. Если транзакции буду не проходить из-за ошибок маленького газа, то эта настройка спасет вас.Доступна динамическая смена настройки MAXIMUM_GWEI. Для этого, после запуска маршрута, зайдите в файл data/service/maximum_gwei.json и поменяйте настройку на необходимое значение. После очередного запуска, файл возьмет значение из settings.py
Динамическая настройка для изменения максимального Gwei
При MAXIMUM_RETRY отличном от 0, софт будет пробовать запускать модуль заново, указанное количество раз. Настройка SLEEP_TIME_RETRY отвечает за время до следующей попытки запустить модуль.
Софт поддерживает http прокси для всех блокчейнов. Для включения работы с проксями необходимо установить USE_PROXY = True. Также есть возможность пользоваться мобильными проксями, для этого необходимо включить настройку USE_PROXY и MOBILE_PROXY. Также вам необходимо указать ссылки для смены IP, при использовании мобильных проексей. Укажите несколько, если ваш продайдер поддерживает несколько ссылок для смены IP. Софт попробует все ссылки, если какая-то не будет работать.
Была реализована защита от большого Price Impact на всех Дексах. Если сумма, которую готов отдать контракт больше указанного PRICE_IMPACT, то софт прекратит выполнение свапа.Настройка SLIPPAGE нужна, чтобы указать контракту, на сколько меньше вы готовы получить токенов обратно. Рекомендуется установить это значение = 1.
Тут все просто, если UNLIMITED_APPROVE = True, то софт будет делать апрувы на ооооочень большую сумму токена для используемых приложений и больше не просить апрувнуть заново. Если же настройка выключена, то это даст вам дополнительные транзакции при работе маршрута. Выбор за вами.
Для каждой настройки есть ссылка, где получить API ключ или TG токен. Просто переходите по ссылкам, регистрируйтесь и создавайте ключи, после чего, вставляйте их в настройки.
Чтобы указать нужный лист для работы с таблицей, вам необходимо назвать этот лист в Excel и записать в EXCEL_PAGE_NAME это название
Сюда будут собраны все дополнительные настройки для софта. На 05.12.2023 тут находятся настройки STARKSTARS_NFT_CONTRACTS и ZKSTARS_NFT_CONTRACTS, которые позволяют указать какой контракт необходимо заминтить в приложении zkStars или StarkStars. Если указать 0, то софт заминтит случайную NFTNEW_WALLET_TYPE нужна для деплоя новых кошельков в Starknet. Полезно, если вы решите сделать пополнение с OKX, а потом сразу деплой. Если вы создали кошельки ArgentX укажите 0, Braavos = 1
Технология сохранения прогресса для каждого аккаунта с помощью Google Spreadsheets .При каждом запуске, софт будет брать информацию из Google таблицы и настроек снизу, для генерации уникального маршрута под каждый аккаунт. Количество аккаунтов и их название должно быть строго одинаковым для вашего Excel и Google Spreadsheets.Актуальная ссылка на таблицу- тыкПосле того, как вы скопировали таблицу, вам нужно выполнить два шага:Проверить, что все названия колонок модулей совпадают с моей таблицейПереименовать лист по названию проекта, чтобы потом ввести это название в настройку GOOGLE_SHEET_PAGE_NAME.Скопировать ссылку на таблицу и вставить в GOOGLE_SHEET_URLНазвания аккаунтов должны быть уникальными, иначе софт не разберётся в вашей таблице. Ваша задача состоит в том, чтобы указать все аккаунты и проставить им поля - Not Started. Если софт отработает модуль успешно, то ему присвоится значение - Done. При ошибке поле получит значение - Error. Также есть возможность указать модули, которые вам не нужны, установив для них значение - Not Need Для генерации маршрута есть несколько настроек, которые помогут сделать его уникальным.DEPOSIT_CONFIG Включает в маршрут для каждого аккаунта модули, со значениями = 1. Пригодятся, если вы планируете сделать депозит или бридж на аккаунт. Все актуальные модули для работы со средствами находятся в этой настройке (скрин сверху). Сначала будет сделан вывод OKX, далее бридж, далее основной маршурт, а в конце маршрута ввод на OKX и только после него сбор средств с субАккаунтов. Бридж выберется один из трех.DMAIL_IN_ROUTES. Включает Dmail в маршрутTRANSFER_IN_ROUTES. Включает трансферы в маршрутCOLLATERAL_IN_ROUTES. Включает случайное вкл/выкл страховки в маршрутMODULES_COUNT. Необходимое количество неотработанных модулей из Google таблице. Софт выберет случайное кол-во из настройки.ALL_MODULES_TO_RUN. Включает все неотработанные модули в маршрут. При включении MODULES_COUNT не учитываетсяWITHDRAW_LP. Включает в маршрут все модули для вывода ликвидности из DEXWITHDRAW_LANDING. Включает в маршрут все модули для вывода ликвидности из лендинговHELP_NEW_MODULE. Добавляет случайный модуль при неудачном выполнении модуля из маршрутаEXCLUDED_MODULES. Исключает выбранные модули из маршрута. Список актуальных модулей находиться в Classic-Routes.Для активации этой функции в машине, вам нужно выполнить следующие шаги:Зарегистрироваться в Google Cloud APIСоздать новый проектВключить Google Sheets APIСоздать API ключ и сервисную почтуСкачать файл service-accountПредоставить сервисной почте доступ к таблицеВставить данные из скаченного файла в софт. Путь: data/service/service_account.jsonВставить ссылку от таблицы Google в настройку GOOGLE_SHEET_URLУказать нужный лист проекта в GOOGLE_SHEET_PAGE_NAMEТакже оставлю здесь гайд на ютубе. (Вас интересуют первые 5 минут видео)В целом, это очень мощная фишка для всего софта, так как она позволяет вам вести базу больше 500 аккаунтов и при этом набрать все необходимые контракты уникальным маршрутом.
Список модулей для каждой сети:
Обычные роуты для работы без Google таблицы. Вся суть заключается в создании одного сложного маршрута, по которому будут сгенерированы все остальные для всех аккаунтов. Ваша задача - это указать модули в квадратных скобках, через запятую. Все названия модулей вы сможете найти в этой настройке внутри софта.Для того, чтобы пропустить модуль в маршруте, вам необходимо указать None, как один из модулей. При выборе None, софт может пропустить все модули, указанные в списке, что позволит сделать маршрут уникальным. Чтобы увеличить вероятность пропуска списка модулей, укажите None несколько раз.Вот пример списка, с вероятность 50%, что софт пропустит его при генерации и 25% на каждый из модулей.[CODE=code][None, None, 'deposit_reactorfusion', 'deposit_zerolend'][/CODE]
Вот пример, правильно составленного главного маршрута для генерации остальных.Готовый маршрут для генерации всех остальных:
Умелые ручки и огромное количество времени и упорства и это окажет вам незаменимую помощь в работе с криптовалютными кошельками и сделает вашу работу прибыльней! :)