настройка config zkLITE
Для начало необходимо определить свою стартовую точку.
Стартовая точка для этого гайда - Apple M1 macbook. ETH на кошельке в майннете/л2 чейнах.
открываем файл config.toml в папке с софтом в lite версии
config.toml
############################################################################################################### # ОС на которой запускается скрипт: # 'Apple Silicon', 'Apple Intel', 'Windows', 'Linux' OS = 'Apple Silicon'
Сразу выбираем нашу систему
'Apple Silicon' - мак на М1 и М2
'Apple Intel', - мак на Intel
'Windows' - windows
'Linux' - linux
[RPCs] Ethereum = 'https://eth.llamarpc.com' Optimism = 'https://rpc.ankr.com/optimism' BSC = 'https://rpc.ankr.com/bsc' Gnosis = 'https://rpc.gnosischain.com' Polygon = 'https://polygon.llamarpc.com' Fantom = 'https://rpc.fantom.network' Arbitrum = 'https://arb1.arbitrum.io/rpc' Avalanche = 'https://avalanche-c-chain.publicnode.com' zkSync = 'https://mainnet.era.zksync.io'
Настройка и замена RPC, при каких проблемах с их стороны RPC провдайдеров или замена на личные приватные.
[Timings] # Время ожидания между выполнением разных акков рандомное в указанном диапазоне NEXT_ADDRESS_MIN_WAIT_TIME = 0.5 # В минутах NEXT_ADDRESS_MAX_WAIT_TIME = 1.5 # В минутах # Время ожидания между транзакциями одного аккаунта NEXT_TX_MIN_WAIT_TIME = 6 # В секундах NEXT_TX_MAX_WAIT_TIME = 12 # В секундах # Максимальное кол-во попыток сделать запрос/транзакцию если они фейлятся MAX_TRIES = 3
NEXT_ADDRESS_MIN_WAIT_TIME = 0.5 # В минутах
NEXT_ADDRESS_MAX_WAIT_TIME = 1.5 # В минутах
Время ожидания между указынами действиями. Берется случайное значение из диапазона
NEXT_TX_MIN_WAIT_TIME = 6 # В секундах
NEXT_TX_MAX_WAIT_TIME = 12 # В секундах
Время ожидания между транзакциями одного аккаунта. не трогаем
после какого количества попыток сделать транзакцию софт записывает кошелек в FAILED
# Макисамльный газ прайс, при котором делать транзакции в Ethereum MAX_ETH_GAS_PRICE = 20 # Максимальный газ прайс в Ethereum, при котором делать транзакции в zkSync Lite MAX_ETH_GAS_PRICE_FOR_ZKSYNC = 40 # Сколько секунд ждать до следующей проверки газ прайса WAIT_GAS_TIME = 10 # Сколько всего секунд ждать лучшего газ прайса, # если за это время газ прайс не понизится до нужного значения, будет ошибка TOTAL_WAIT_GAS_TIME = 3600
Настройка которая отслеживает газ в Л1 распространяется на все транзакции в Л1. При газе выше этих значений скрипт будет спать TOTAL_WAIT_GAS_TIME столько секунд сколько в этой переменной. И каждый раз сверяться с газом раз в WAIT_GAS_TIME секунд
В таких настройках при повышении газа больше 20(MAX_ETH_GAS_PRICE) скрипт будет каждые 10 секунд(WAIT_GAS_TIME) смотреть на газ и если за 3600(TOTAL_WAIT_GAS_TIME) секунд он не сможет поймать газ ниже он пропустит этот кошелек
MAX_ETH_GAS_PRICE_FOR_ZKSYNC = 40
Настройка которая отслеживает газ в Л1 но распространяется на все транзакции в Л2 зклайт. При газе выше этих значений скрипт будет спать TOTAL_WAIT_GAS_TIME столько секунд сколько в этой переменной. И каждый раз сверяться с газом раз в WAIT_GAS_TIME секунд
В таких настройках при повышении газа больше 40(MAX_ETH_GAS_PRICE_FOR_ZKSYNC) скрипт будет каждые 10 секунд(WAIT_GAS_TIME) смотреть на газ и если за 3600(TOTAL_WAIT_GAS_TIME) секунд он не сможет поймать газ ниже он пропустит этот кошелек
Раз в сколько секунд смотреть на газ для того, чтобы попытаться отправить транзакцию
Сколько секунд в общем скрипт будет ждать, прежде чем пропустить кошелек и перейти к следующему
[Telegram] # Токен и chat id бота в тг. Можно оставить пустым. TELEGRAM_BOT_TOKEN = '' TELEGRAM_CHAT_ID = 0 # При true, скрипт выдает ваш chat id для отправки сообщений в боте. Бриджи не запускаются GET_TELEGRAM_CHAT_ID = false
Настрйока для логов вам в телеграмм.
Токен для телеграмм бота
Чат ID с ботом
Будет работать отправка результатов вам в телеграмм или нет
false = не работает
true = работает
############################################################################################################### [Settings] ############################################################################################################### # Ethereum <-> zkSync Lite USE_OFFICIAL_BRIDGE = true # Ethereum, Arbitrum, Optimism, zkSync Era, Polygon, BSC <-> zkSync Lite USE_ORBITER = true
Использовать официальный мост для бриджа
Использовать orbiter для бриджа
При включении обоих выбирается случайная сеть. Ниже настройки по тому сколько бриджить и откуда
# Минимальный баланс ETH (WETH для Polygon, BSC), на который скрипт будет триггериться для бриджа. BRIDGE_ETH_MIN_TRIGGER = 0.008 # Сколько ETH (WETH для Polygon, BSC). Выбирается рандомное значение в диапазоне. # При использовании Orbiter, дополнительная комиссия моста не идет в счет этого значения. BRIDGE_ETH_AMOUNT = [0.0063, 0.007] # Сколько бриджить ETH в процентах. Если стоит 0, то используется BRIDGE_ETH_AMOUNT, иначе берется процент. # Во всех переменных связанных с процентом, в итоге рассчитывается рандомное значение # в небольшом диапазоне вокруг указанного процента (+- 1% от указанного процента) BRIDGE_ETH_PERCENT = 40 # Если true, то на каждом акке сначала забриджит, а потом будут выполняться остальные действия. BRIDGE_BEFORE_ALL = true # Ожидание бриджа в секундах. Скрипт продолжит прогонять остальные акки, не останавливаясь. BRIDGE_WAIT_TIME = 600 # Доступные значения: # 'Ethereum', 'Arbitrum', 'Optimism', 'zkSync', 'Polygon', 'BSC', 'zkSync Lite' # # Из каких сетей бриджить. Среди указанных сетей ищет из какой можно забриджить соответствуя указанным параметрам. BRIDGE_CHAINS_FROM = ['Arbitrum'] # В какие сети бриджить. Если указать несколько, то будут выбираться рандомные для каждого аккаунта. BRIDGE_CHAINS_TO = ['zkSync Lite']
BRIDGE_ETH_MIN_TRIGGER = 0.008
Сумма на которую скрипт обращает внимание в ETH/WETH (WETH для Polygon, BSC) и с которой он дальше работает
BRIDGE_ETH_AMOUNT = [0.0063, 0.007]
# Сколько ETH (WETH для Polygon, BSC). Выбирается рандомное значение в диапазоне.
# При использовании Orbiter, дополнительная комиссия моста не идет в счет этого значения.
Мы указываем сколько хотим ПОЛУЧИТЬ. значение received при трансфере руками
то есть указываем сколько мы в итоге ПОЛУЧАЕМ, без учета комиссии за транзакцию.
Функция дает бриджить ефир от баланса в процентах. Если постваить -1, то будет использвать диапазон из переменной BRIDGE_ETH_AMOUNT. Если поставить 100, то будет бриджиться весь эфир. может выдавать ошибки, если будет не хватать газа.
При 0 будут фейлы. при 1 будет бриджится 1 процент эфира. Если 1 процента не хватает для бриджа, то будут ошибки
Если true, то на каждом акке сначала забриджит, а потом будут выполняться остальные действия.
Функция используется для того, чтобы избежать ситуации, когда у вас нет выполнился бридж на кошелек в сеть и не набежало ошибок при выполнении списка действий. Ниже по конфигу вы задаете количество действий для кошелька. И если вы хотите сначала чтобы на кошельке был бридж в зклайт ставьте true. После бриджа скрипт начнет работать по другим дейсвтиям из пула
# Ожидание бриджа в секундах. Скрипт продолжит прогонять остальные акки, не останавливаясь.
Сделался бридж на кошельке. Записалось время бриджа. И добавились все остальные действия для этого кошелька в список действий.
Когда в следующий раз скрипт выберет делать какое-то из этих действий. Он проверит поменялся ли баланс в сети куда бриджим (считай дошли ли бабки), если да то приступает к свапам и тп. Если нет, то скипает это действие и заново его в список добавляет
Так вот чтобы бесконечно так в список не добавлялось если вдруг бридж тупит, есть этот параметр.
Если в очередной раз он захояет сделать свап после бриджа, а бридж все еще не дошел и прошло вреиени с бриджа больше чем в этом параметре указано то оно уже напишет типа фейл вся хуйня
BRIDGE_CHAINS_FROM = ['Arbitrum']
Из какой сети мы бриджим. В конфиге показаны доступные параметры
BRIDGE_CHAINS_TO = ['zkSync Lite']
В какую сеть мы бриджим
Соотсветенно можно бриджить и ИЗ и В сеть.
############################################################################################################### # Если предыдущий запуск скрипта закончился раньше запланированного, # то можно "восстановить" весь прогресс, чтобы не делать лишних операций. # Вся информация каждого запуска записывается в results/date-time/stats.csv # Чтобы восстановить прогресс, содержимое этого файла надо скопировать в files/stats.csv RESTORE_PREVIOUS_RUNS = false ###############################################################################################################
Функци позволяет достать файл, если работа случайно была прервана и продолжить с того места, где остановился скрипт
чтобы включить востановление надо скопировать в stats.csv из папки results/date-time/stats.csv в files/stats.csv
и включить модуль
RESTORE_PREVIOUS_RUNS = true
# Здесь указывается количество действий, которые скрипт будет делать для всех акков. # Для каждого аккаунта выбирается рандомное значение в диапазоне. BRIDGE_COUNT = [1, 1] SELF_SEND_COUNT = [0, 0] SEND_COUNT = [0, 0] MINT_COUNT = [0, 0]
Настройки того что нужно делать скрипту. Каждая настройка указывается диапазном .
Количество бриджей В сеть ЗКЛАЙТ. стоит дипазон от 1, до 1. Это значит, что скрипт сделает 1 бридж.
Отправка eth на свой же адерсс. используется для накрутки транзакций
Отправка eth на случайно сгенерированный адресс. используется для накрутки транзакций
сколько нфт мы будем минтить. картинки берустя из контрактов нфт в файле
nft_collections.txt
# Сколько ETH отправлять селф транзакцией кошельки. Выбирается рандомное значение в диапазоне. # Округляется рандомно от 6 до 9 знаков SEND_ETH_SELF_AMOUNT = [0.000005, 0.00002] # Сколько ETH отправлять на рандомные кошельки. Выбирается рандомное значение в диапазоне. # Округляется рандомно от 6 до 9 знаков SEND_ETH_TO_RANDOM_AMOUNT = [0.000005, 0.00002]
SEND_ETH_SELF_AMOUNT = [0.000005, 0.00002]
настройка диапазона для случайных сумм в транзакциях на свой кошелек
SEND_ETH_TO_RANDOM_AMOUNT = [0.000005, 0.00002]
настройка диапазона для случайных сумм в транзакциях на случайный кошелек кошелек
############################################################################################################### # Ваш API-ключ для moralis.io # Необходим для минта нфт MORALIS_API_KEY = ''
Сюда вставляем апи для минтов с сайта https://moralis.io/
Делаем аккаунт на сайте и вам автоматически предложит апишку. копируем вставляем в конфиг
На этом работа с конфигом заканчивается. Данный конфиг настроен на то, чтобы сделать бридж с eth или orbiter в зклайт. Настройте его под себя. Обещаю видеогайд по работае с конфигом. Но пока только разбор настроек