July 2, 2023

Гайд для софта STARKNET / 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 файл в одну папку). Это должно выглядеть так:

Если у вас starknet_data меняйте название на data, сама папка выглядит так:

Для корректной работы софта ни в коем случае ничего не меняем в server_data.txt и в папке abi.
Для дальнейшей работы нам нужны приватные ключи.

Регистратор/Деплоер кошельков - Multitool

Перед тем, как грузить кошельки - нужно их получить/зарегистрировать/задеплоить и т.д, если у вас их нету.
Делается это всё через отдельный софт - Multitool, который скачивается с бота @takesoft_bot

Настройки в settings.json:

retries_limit = 10 # отвечает за кол-во попыток
provider = "argent" # argent/braavos/argent_newest выбор провайдера
TaskSleep = [10, 20] # задержка между поисками балансов
ErrorSleepeng = [10, 20] # задержка при ошибке
ThreadRunnerSleep = [10, 20] # задержка между кошельками
amount_to_create = 10 # кол-во кошельков на создание

После настроек запускаем скрипт и выбираем нужный модуль:
deployer — деплоит все кошельки из secrets.txt (туда ключи, а НЕ сид фразы)
get addresses — выводит адреса кошельков в соответствии с выбранным провайдером. Ключи должны быть в secrets.txt
generator — создает таблицу csv файл в формате: сид фраза : приватный ключ
для генератора выбирайте только argent, либо braavos
Перейдём обратно к софту.

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

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

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

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

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

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

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

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

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

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

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

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

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

LoaderDisk - Для шифровки по флешке. Диск, используя который будут дешифроваться ключи

DecryptType - Способ шифровки. Доступные значения: Flash, Password

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

one thread mode - отвечает за то, будет ли софт работать в одном потоке (true/false) TaskSleep - мин/макс время в секундах между выполнением N действия.
ErrorSleepeng - мин/макс время задержки при возникновении ошибки.
ThreadRunnerSleep - отвечает за задержку перед стартом каждого нового кошелька/процесса
ApproveSleep - мин/макс время в секундах после аппрува в EVM сетях.
Slippage - Слиппаж, который софт будет использовать при свапах.
Max price impact - Максимальная разница при свапе биржевого курса токена и курса пула (пост слиппаж). Формула:
price impact =  1-(pool price * (1-Slippage) / binance price) ВНИМАНИЕ, ставить слишком большое проскальзывание - опасно. Если поставите число 0.6 (то это 60% проскальзывания). При такой сделке - вам может прийти на 50% меньше стейблов чем вы свапали.
RetriesLimit - Количество повторных попыток отправить транзакцию, при проблемах со старкнетом.
UseProxies - в файл proxies.txt вставляем прокси в таком формате: login:pass@ip:port@address ВНИМАНИЕ, в адрес нужно вписывать только старкнетовский адрес, evm не подойдет
Provider - выбираем какие кошельки нужны будут при деплое - Braavos или Argent.
ToSaveFunds - в какой токен свапать при модуле swap to one token.
SaveEthOnBalance - если true, то сколько резервировать ETH на балансе при свапах.

delayed_start - true/false включать ли отложенный запуск
delayed_start_time - Время ожидания в часах

dmail_messages_amount - количество транзакций в dmail (от и до)
starknet_id_amount - количество транзакций в starknet_id (от и до)
starkstars_nft_amount - сколько минтить нфт на starkstars.io (от и до)
do not mint minted - при true не будет минтить уже сминченные нфт
zklend_collateral_amount - количество транзакций zklend collateral (от и до)

new_implementation_for_upgrade - адрес новой имплементации для апгрейда, см. в транзакции апгрейда

OKX

to withdraw from okx - сколько эфира выводить с окх(от и до)
api_key - апи ключ от окх
secret - secret от апи ключа окх
password - password от апи ключа окх
nets for okx - в какие сети выводить с окх
send to okx from - из каких сетей выводить на окх
wait for okx deposit - сколько ждать депозита на окх в минутах

Бридж в Starknet

MinEthValue - Минимальное значение в эфире, при котором будет делаться бридж
SaveOnWallet -Сколько ETH будет зарезервировано на кошельке при бридже
USDAmountToBridge - Сколько бриджить в старкнет (значение в долларах)
nets_for_deposit - из каких сетей делать бридж в старк
check weth nets - в каких сетях смотреть на weth
check stables nets - в каких сетях смотреть стейблы

Вывод со Starknet

WithdrawSaving - Сколько ETH оставлять на кошельке при выводе из старкнета
EtherToWithdraw - Сколько ETH выводить из старкнета (значение в ETH)
DistNet - Отвечает за то, в какие сети будет бридж из старка при выводе. Доступные значения: arbitrum, zksync, ethereum, optimism.

Настройка свапов

SwapAmounts - Количество свапов, задается как мин/макс значения
SwapDEXs - Дексы, которые софт будет использовать при свапах. Доступные значения: "MySwap", "JediSwap", "10kSwap", "SithSwap", "Fibrous", "Avnu"
WorkPercent - Процент от баланса, который софт будет использовать при свапах
Supported_tokens - Токены, которые будут использоваться при свапах. Доступны: "ETH", "USDC", "USDT", "DAI", "WBTC", "WSTETH", "LORDS".
MINIMAL_SWAP_AMOUNTS - минимальный баланс для токена, чтобы софт его увидел

Настройка ликвидности

LiqWorkPercent - Аналог WorkPercent , но для ликвидности
LiqDEXs - Аналог SwapDEXs, но для ликвидности. Доступные значения: "MySwap", "JediSwap", "10kSwap", "SithSwap"
RemoveOnFullMode - Выбирается случайное значение, нужно ли убирать ликвидность или выводить из лендинга в Full модуле
AddLiqAmount - Сколько раз софт будет добавлять ликвидность

Настройка лендингов

LendWorkPercent - Аналог WorkPercent , но для лендинга
Lends - Аналог SwapDEXs, но для лендингов. Доступные значения: "ZkLend"
AddLendAmount - Сколько раз софт будет добавлять токен в лендинг
BorrowAddAmount - Сколько раз софт будет брать токен в долг
BorrowWorkPercent - Аналог WorkPercent , но для займа

Модули для работы софта. Выбираем в консоли.

Есть более 25 режимов запуска. По порядку:

Off bridge - бридж через старкгейт.
Off bridge different wallet(EVM) - аналог Off bridge, но для разных ключей(см. использование разных ключей)
Orbiter - бридж через орбитер. Проверяет наличие эфира в сетях из nets_for_deposit, если есть эфир, значение которого больше: MinEthValue, то делает бридж. Если эфир не находит, тогда пробует найти балансы WETH в check weth nets, если не находит WETH, то проверяет стейблы в сетях check stables nets, свапает на эфир и переводит в старк через орбитр
Orbiter different wallet(EVM) - аналог Orbiter, но для разных ключей(см. использование разных ключей)
withdraw - вывод из старка через орбитер в сеть из DistNet
withdraw different wallet(EVM) - аналог withdraw, но для разных ключей(см. использование разных ключей)
random swaps - свапы на случайных дексах из SwapDEXs
swap to one token - свап всех токенов в один из toSaveFunds
add liquidity - добавляет ликвидность в случайные пары из LiqDEXs
remove liquidity - выводит всю ликвидность
lending task - добавляет случайный выбранный токен в случайный выбранный лендинг и занимает/возвращает случайный токен
remove from lend - выводит supplied токены из ленда
return borrowed tokens - возвращает занятые токены
collateral on zklend - кнопка вкл/выкл collateral на зкленд
dmail - отправляет случайные сообщения в дмейле
starkstars - минт NFT на starkstars.io
starknet id - минт starknet id
bids on flex - делает биды на flexing
bids on unframed - делает биды на unframed
bids on element - делает биды на element
upgrade argent - апгрейд кошелька аргент
upgrade braavos - апгрейд кошелька браавос
deploy accounts - деплой кошельков в старке(обязателен для новых кошельков)
okx withdraw - вывод с окх
okx sender - вывод на окх(кошельки указывать в файл okx_wallet_pairs.txt в формате откуда;куда
stats - выводит статистику по кошелькам в файл starkstats.csv
own tasks - конструктор модулей, см. раздел own tasks
encrypt_secrets - шифровка ключей

Own Tasks

У него есть 2 режима работы. standart и invert, задаются в параметре own tasks mode. Сам модуль выполняет другие модули, которые указаны в настройке own tasks. Они указываются числами. Числа для каждого будут ниже.
Есть несколько способов записи модулей. Просто через запятую, в дополнительных квадратных скобках, в кавычках.
Режимы.

standart:
запись [1, 2, 3, [4, 5, 6], 7, "8,9,10", 11, 12] будет обозначать, что 1, 2, 3, [], 7, "", 11, 12 будут идти в случайном порядке. 4, 5, 6 будут идти строго друг за другом. Из 8, 9, 10 будет выбран случайный

invert:
запись [1, 2, 3, [4, 5, 6], 7, "8,9,10", 11, 12] будет обозначать, что 1, 2, 3, [], 7, "", 11, 12 будут идти в строго друг за другом. 4, 5, 6 будут идти в случайном порядке. Из 8, 9, 10 будет выбран случайный

Номера модулей.

110 - Off bridge
111 - Off bridge different wallet(EVM)
120 - Orbiter
121 - Orbiter different wallet(EVM)
130 - withdraw
131 - withdraw different wallet(EVM)
21 - random swaps
22 - swap to one token
31 - add liquidity
32 - remove liquidity
41 - lending task
42 - remove from lend
43 - return borrowed tokens
44 - collateral on zklend
51 - dmail
52 - starkstars
53 - starknet id
541 - bids on flex
542 - bids on unframed
543 - bids on element
551 - upgrade argent
552 - upgrade braavos
56 - deploy accounts
61 - okx withdraw
62 - okx sender
71 - stats

Использование разных ключей

Если вы не хотите, чтобы у ваших EVM (Metamask) кошельков и кошельков старка был один приватный ключ, то делаем следующее:

  1. Открываем файл EVM_stark_pairs.txt
  2. Вписываем туда адреса старка и ММ в формате stark;evm
  3. Сохраняем, закрываем, теперь эти пары кошельков связаны
  4. Шифруем и ключи старка, и ключи ММ в одном файле. Порядок не важен
  5. Если делаем бридж в старкнет, то в to_run_addresses вставляем ММ адреса, если делаем из старкнета, то вставляем адреса старка
  6. Запускаем один из модулей бриджа (они с постфиксом EVM)


Как менять ключи

ВНИМАНИЕ
во избежание полной потери доступа к кошелькам, полностью следуйте инструкциям ниже. При любой ошибке, кошельки могут быть полностью утеряны
ВНИМАНИЕ 2 Если у вас кошельки с сид фразами, руками на них зайти больше не получится.
Ими можно будет пользоваться только софтами с поддержкой использования измененного ключа
ВНИМАНИЕ 3 Смена ключей работает только с аргентами каиро 1
ВНИМАНИЕ 4 Не используйте 1 ключ на несколько аккаунтов, софт сможет работать только с одним

Алгоритм действий:
1. Генерируем новые приватники любым способом
2. Вписываем их в new_private_keys.txt
3. Запускаем модуль show public keys from keys from new_private_keys.txt
4. Полученные публичные ключи вписываем в файл public_address_pairs.txt в формате публичный ключ;адрес
5. Вписываем в to_run_addresses нужные нам адреса
6. Запускаем change private keys
7. После смены приватников шифруем новые ключи
8. Запускаем add public keys
Всё готово, можем пользоваться кошельками
ВНИМАНИЕ 5 Теперь просто зашифровать ключи не выйдет, нужно будет дополнительно запускать add public keys

Ноды (RPC)

Теперь можно поставить ноду на Starknet. У самого проекта нету официальной ноды как у того же ZkSync, это хорошо ибо наш IP они не могут мониторить - берём ноду с других сервисов. Я беру с Infura.

Берём ноду с https://app.infura.io (проходим обычную регистрацию, дальше выбираем

Далее пишем любое название и выбираем "WEB3 API".

Дальше у вас появляются проекты и ноды к ним (если нету, нажмите кнопку Endpoints или F5), листаем вниз и берём на Starknet:

Ещё куча сервисов где можно взять ноду, вот список:
https://www.starknet.io/en/ecosystem/fullnodes-and-rpc-services

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

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

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

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