May 30, 2023

Гайд для софта ZKSYNC / AutoSoft 

Пишите в чат или тех поддержку @autosoft_tech по всем вопросам.
Ответы на часто задаваемые вопросы и решение ошибок вы можете найти в чате по поиску.

Софт поддерживает macOS, для перехода напишите в тех. поддержку: @autosoft_tech
Гайд как накатить сервер и поставить защиту на него.

Как только как вы взяли ключ c файла get_key.exe, нажимаете кнопку "change token" в боте @takesoft_bot и прописываете свой ключ, вам бот выдаст файлы zksync_data.rar и ZkSync by AutoSoft v1.5.exe (я беру в пример ZkSync)

Все дальнейшие рассылки и файлы для обновлений будут приходить в бота @takesoft_bot.

Создайте отдельную папку и разархивируйте содержимое файла (папку data и exe файл в одну папку).

Также важно переименовать папку ZkSync_data в просто data, иначе софт не будет работать, вот как должно выглядеть всё на выходе:

Напомню, что при последующих обновлениях с бота TakeSoft может потребоваться обновлять папку abi или файл-настроек settings.json

Все настройки находятся в папке data:

Начнём с шифровки приватников (без этого софт не будет работать):

Идём сразу в папку data, ищем текстовик to_encrypted_secrets.txt пишем туда приватники, с которыми будем работать. Мы будем их шифровать один раз и в дальнейшем, софту не нужны будут приватники, только адреса.

Дальше запускаем файл, листаем в самый низ и выбираем таск "encrypt_secret_keys".

Выбираем, через что сможем декодировать приватники (запускать софт) - через флешку - пишем 1 или через пароль - 2 (как сделал я).

Если не хотите через флэшку-можно сделать по паролю (его нужно будет вводить каждый раз когда запускаете софт).

Внимание! Когда пишите пароль, он невидимый, поэтому советую сначала где-то написать его, скопировать и вставить в терминал. Пароль не теряйте.

Если у вас не получилось, то софт сам напишет пароль — если первые 3 буквы правильные - пишите Y, если нет, то N и ещё раз пароль.

Приватники готовы для работы, дальше идём в папку data, в текстовике to_run_addresses.txt пишем адреса от приватников для работы с ними.

Внимание! Файл с приватниками сам удаляется to_encrypted_secrets.txt, так что сохраняйте к себе и храните в надёжном месте.

Делается это 1 раз для всех приватников, потом сохранили зашифрованный файлик, прописывали пароль и все пашет. Удобней же писать адреса которые нужно запустить и гораздо безопасней, не так ли?

Подготовку закончили, теперь начинаем работу.

Закидывайте ETH в сетях Arbitrum/Polygon/BSC, дальше выбираете 1 модуль для бриджа. После этого для полного прогона пишите 10 модуль и вуаля, аккаунт ч обычными настройками прогонен.

Если у вас аккаунт с нашего софта L0 и у вас в других сетях ETH или котлета лежит в USDT/USDC, то используйте 2 модуль. Софт ищет стейблы/ETH в других сетях для того чтобы забриджить сначала в Arbitrum/Polygon/BSC, дальше перевести стейбл в ETH и забриджить в ZkSync.

Вы также можете раскинуть в сеть ZkSync Era через OKX без бриджа и запустить сразу FULL модуль.

Settings.json - полная настройка софта.

Начнем по порядку, файл открывать можно в любом текстовом редакторе.
Я советую скачать Notepad++.

Разбор параметров:

LoaderDisk - Если вы шифровали данные через флэшку, то указываете букву диска который использовался в качестве ключа для шифрования (точнее серийный номер флэшки). По дефолту, шифруете через пароль - то ничего не надо делать.

DecryptType - тут есть 2 варианта: Flash | Password
Cами выбираем, через что шифровали.
По дефолту стоит шифрование через пароль.

TaskNumber - теперь он не нужен, все таски выбираем стрелками. О всех модулях работы ниже

UseProxies - отдельное оглавление про прокси ниже

MaxEthGwei - чекер перед отправкой транзы по газу в эфире

LiteTasks - работа в сети Lite, 2 режима: "claimNFT", "sendTx"
Клейм NFT и отправка транзакций на lite.zksync.io самому себе копеек, для набива транз
NFTcontracts - адреса ЛЮБЫХ нфт коллекций. Брать ТОЛЬКО из сети эфира
AlchemyRPC - для минтов нфт понадобится эфир нода из Alchemy
LiteWithdrawSave - кол-во эфира сколько софт оставит в лайте. ВНИМАНИЕ, прописывайте минимум 3-5$, т.к, вывод только через оф.мост, у него нормальная комса на вывод
Slippage - какой слип в ZKSYNC ERA на дексах при свапах (сколько максимум готовы потерять, если нет ликвы)
ВНИМАНИЕ, ставить слишком большое проскальзывание - опасно. Если поставите число 0.1 (то это 90% проскальзывания). При такой сделке - вам может прийти на 90% меньше токенов чем вы свапали.

MinEthValue - Минимальная сумма которую софт может забриджить. Внимание, на Orbiter есть минималки, мониторьте на сайте.

SaveOnWallet - мин/макс сумма в ETH который софт будет оставлять при бридже эфира через arbitrum/eth

BridgeType - принимает параметры: orbiter/zkbridge (или сразу оба, тогда будет брать рандомно. Так если что везде где несколько вариантов)

USDAmountToSwap - Тут можно указать мин/макс сумму сколько забриджить (в $). Работает если запускаете второй таск. Если указываете больше баланса - то свапает и бриджит все что на балике.

WithdrawSaving - мин/макс сумма в eth которую софт будет оставлять в zkSync после вывода

DistChain(only for orbiter) - список чейнов куда софт может отправить транзакцию при выводе через orbiter

ParsingSleep - принимает кол-во в секундах. Это задержка между чеком баланса в потоке (маленькие значения не рекомендуем ставить)

minUSDamount - только для бриджей. Ставьте +- те значения что раскидываете на кошелек чтобы софт не цеплялся за копейки

toSaveFunds - принимает значения: WETH/USDC, эта та валюта, в которой софт будет переводить весь остаточный баланс после завершения потока (FULL mode)

SwapAmounts - кол-во свапов на дексах

ToSaveEthOnBalance - мин/макс значение в $, которое софт будет оставлять на балансе (ETH)

WorkPercent - Множитель, мин/макс, с которым будет работать софт. Если вы выставляете 0.5 , 0.7, то при свапе, софт будет брать 50-70% от баланса

Supported_tokens - Доступные токены для свапа. Пока только USDC

MINIMAL_SWAP_AMOUNTS - Тут вы выставляете минимальный своп в $ для токенов (не ETH)

TxCoeff - множитель, на который софт будет занижать газ при отправке в Zksync. Слишком большой не рекомендую ставить, могут быть фейлы. Рабочий оставляем в пределах 1,5-2

TxCoeffApprove - отдельный множитель для аппрувов (занижать максимум на 1,5)

OrbiterNets - Какие чейны будут использоваться для бриджа в зксинк. Если деньги находятся в другом чейне - софт сделает бридж через старгейт

MinEthBridge - минимальная сумма в ETH который софт будет бриджить в зксинк

LiqWorkPercent - такой же множитель как и WorkPercent, только для залива ликвидности

LiqDEXs - название дексов для залива ликвидности. Из доступных: space/mute/sync

RemoveOnFullMode - значение true/false. Если выпадает true, то софт выводит из всех пулов (таск 10)

AddLiqAmount - кол-во раз, сколько софт закинет деньги в ликвидность

Lendings - список лендингов, рандомно в которые софт будет заливать ликвидность

AddLendsAmount - кол-во раз, сколько софт закинет деньги в лендинги

RemoveOnFullMode(Lends) - принимает значение true/false. Если true - то выводит все деньги из лендингов по завершению работы (таск 10)

setUsername - принимает значение true/false. Если true - то будет устанавливать заминченный юзернейм как основной

TaskSleep - мин/макс время в секундах между выполнением N действия

Модули для работы софта.

TaskNumber - ТЕПЕРЬ НЕ НУЖЕН. Выбираем модуль софта стрелками в софте консоли. OwnTasks - если включаете, то TaskNumber 0. Можно выбирать интересующие модули. Пишем в таком формате: [2, 3, 4, 5]. Ниже цифры (1) - это номер таска для OwnTasks, чтобы выбрать нужные для себя таски.

(1) Orbiter (only deposit eth/weth) - Только бридж ETH/WETH из доступных сетей (arbitrum, bsc, polygon). Для начала, скрипт проверяет все сети на наличие валюты для бриджа. Если находит значение выше: MinEthValue (настройки), то делает бридж в ZkSync.
Если у вас стейблы, запускайте 2 модуль.

(1) Orbiter with swaps and deposit to zksync - Это для тех, у кого остались стейблы с нашего софта L0. Тот же бридж эфира в ZkSync, НО, если у вас USDC/USDT/ETH не в (arbitrum, bsc, polygon), то он сделает бридж в рандомную из сетей что вы указываете в настройках в параметре: OrbiterNets. Сделает обмен денег через Sushiswap (usdt/usdc поддерживаются) и оформит бридж в ZkSync.

(7) Withdraw with Zkbridge/Orbiter - Вывод денег из ZkSync в одну из доступных сетей. Какой бридж вы хотите использовать, указывается в BridgeType ("orbiter", "zkbridge" доступны). Если вы указываете сразу несколько, то будет браться рандомный.
Выводит EtherToWithdraw сумму, если EtherToWithdraw больше баланса, то выводит весь балик - WithdrawSaving
Zkbridge - офф мост (не Polyhedra!)
Orbiter - орбитер. Для орбитра настройка: DistChain(only for orbiter) - сюда вписываете сеть (любую) куда депать хотите
Доступные: ethereum optimism bsc arbitrum nova polygon polygon_zkevm zksync zksync_lite

(8) Bridge from ethereum to zksync - Депозит денег из Эфириум сети в ZkSync через оффициальный мост.

(3) Swaps handler on 1inch and Odos - Делает свапы рандомно на 1inch/odos (в приоритете inch т.к. одос дорогой), основывается на токены из списка: tokensForSpecSwaps + соблюдает минималки из: MINIMAL_SWAP_AMOUNTS
Делает N кол-во свопов согласно SwapAmounts, всегда резервируя баланс эфира на комиссии из: ToSaveEthOnBalance
Доступные токены "tokensForSpecSwaps": ["BUSD", "USD", "USDT", "WBTC", "MUTE", "VC", "SPACE", "SLUSDT"], выбирайте на свой страх и риск!

(4) Swap funds from WETH->USDC - Только перекид баланса из ETH в USDC на рандомном дексе на всю сумму - ToSaveEthOnBalance.

(14) Swap USDC->WETH - Свап всех стейблов в ETH

(10) Full mode - Это FULL модуль в который включены ВСЕ остальные модули (кроме Моста). На данный момент это: Рандомные свапы, free mint NFT (домен), добавление ликвидности, добавление ликвидности в лэндинг протоколы) + если у вас указаны параметры true в настройках: RemoveOnFullMode (ликвидность), RemoveOnFullMode(Lends), то в конце работы он выведет все деньги из лендингов и пулов ликвидности. И еще, вы можете указать в какой валюте вы хотите сохранять деньги после завершения работы: toSaveFunds, я ставлю в USDC.

(5) Add liquidity - Добавление ликвидности на рандомных дексах. Кол-во итераций указывается в: AddLiqAmount. А еще тут важны параметры: LiqWorkPercent, ToSaveEthOnBalance.

(6) Remove liquidity - Выводит ликвидность со всех дексов (для лэндингов есть 13 модуль)

(12) Lending handler - Депозит в лендинг протоколы. Кол-во итераций указывается в: AddLendsAmount. Нужные вам лендинги указываются в: Lendings, есть два: ["react", "era"]

(13) Withdraw from lendings - Вывод со всех лендингов. Минималка +-: 0.0001

(16) Activity in Zksync Lite - Активность в Lite. Делает транзы согласно: LiteTasks
Если указываете "LiteTasks": ["sendTx", "claimNFT"], то сделает 1 транзу самому себе + 1 минт нфт.
ОБЯЗАТЕЛЬНО! ОБЯЗАТЕЛЬНО! ОБЯЗАТЕЛЬНО! НУЖНО УКАЗАТЬ AlchemyRPC (https://www.alchemy.com/) нужно взять именно оттуда и именно ЭФИР НОДУ
Для минта нфт нужно еще указать адреса контрактов в NFTcontracts. Берем их из эфир сети. https://etherscan.io/nft-top-contracts (не все подойдут)

(17) Withdraw from Zksync Lite - Вывод из Lite в ETH.
Бриджит весь баланс - LiteWithdrawSave
Тут осторожно, частто высокие комиссии в лайте. Указывайте LiteWithdrawSave с учетом комиссий на вывод, софт не учитывает ее!

(18) Deposit to Zksync Lite - Офф бридж из эфир сети в Lite. Бриджит весь баланс - SaveOnWallet

(22) ZigZag - Использует значения из: SwapAmounts, toSaveEthOnBalance, WorkPercent
С мелкими суммами может кидать ошибки
toSaveEthOnBalance ставьте на минимум до доллара, процент побольше (с большими балансами так же осторожно, там почти нет ликвидности!!!!!!!!)

(19) Send tx with Dmail - ориентируется на dmailTxAmount. Отправка писем через DMAIL

(20) P2P transfers - Создает новый кошелек, сохраняя приватник и адрес в папке data, отправляет туда трансфер согласно WorkPercent, немного ждет и перекидывает обратно баланс весь

(9) Mint NFT Nickname - Минт бесплатной NFT, создание никнейма (5 рандомных символов + 1-3 рандомные цифры) и установка никнейма на кошелек.

(78) Mint NFT на Tavaera - бридж через L0 через контракт (в нём 150к минтов)

(79) CryptoMaze NFT Mint - Минт нфт на CryptoMaze

(80) Mint и Bridge NFT через контракт - Минт + бридж через L0 через контракт (на нём 150к минтов)

Get stats on ZkSyncLite - Получение статистики по ZkSync Lite

Прокси

Чтобы установить прокси, необходимо найти файл в data/proxies.txt

И четко по списку выставить прокси в формате: login:pass@ip:port@address (кошелька). К примеру:

autosoft_eth:[email protected]:30010@0x852C9f7656124BA5f006a6510caa13d2f55Cac58

Прокси обязательно должны быть формата http, socks не подойдут

И чтобы данные настройки учитывались, нужно поставить в settings.json параметр useProxies на true.

Ноды (RPC)

Может быть такое, что ноду рейтлимитнет за спам большим кол-вом акков, для этого можете поставить другие паблик/приват ноды, попробуйте найти здесь: chainlist.org.

RPC Settings - это ноды сетей которые софт будет использовать в работе, можно указывать любое кол-во нод (формат есть в настройках и на скрине). Если не знаете какие ноды хорошие/не очень то не трогайте данную настройку.

Max Gwei Settings - Максимальное значение гвей для отправки любой транзакции в заданной сети.

Свои ноды вы можете написать чуть ниже в поле RPC, и соответственно в "UserOurRpc" пишем false для своих нод.

И если у вас UseOurRpc: true, но на каких-то чейнах стоит false, то софт будет брать ваши ноды как вы обычно устанавливаете

Работа софта сильно зависит от выбранных нод

Если очень просто объяснять - нода проводник нас в мир блокчейна, и именно нода первая обрабатывает наши транзакции/запросы к блокчейну. И важно чтобы нода работала корректно

Не советую брать ноды с Chainlist (если вы не знаете какие точно нормальные). Там 50% всех нод работают не всегда корректно/временами падают/работают медленно. И поэтому, лучше всего брать ноды с Infura или ANKR ! Внимание, на infura и ANKR есть лимиты на запросы: INFURA: 100k/req в день (маловато) ANKR: 30 req/секунду (2,4кк/день)

Чтобы получить ноду на ANKR нужно зайти по ссылке: https://www.ankr.com/rpc/

Войти через ММ

И получить ссылку на ноду

Комиссии

Max L0 Fees Settings - Здесь указывается максимальное значение в нативной валюте при котором софт будет делать бридж. Если в моменте отправки транзакции комиссия будет выше - софт будет ждать пока комиссия упадет. (при проверки комиссий софт проверяет на изменения файл settings.py).

CheckBeforeBridge - принимает значения true/false. При True - перед отправкой в N сеть софт будет проверять данную сеть на наличие нативной валюты для оплаты след бриджа.

Для корректной работы - требуется выставлять адекватное кол-во комиссий / gwei в сетях + раскидывать достаточное кол-во денег на оплату комиссий во все сети. Я обычно раскидываю по 4-5$ в каждую из сетей для комфортной работы. Но опять же - все зависит от кол-во бриджей.

Пишите в тех поддержку @autosoft_tech по всем вопросам.
Ответы на часто задаваемые вопросы и решение ошибок вы можете найти в чате по поиску.