web3monster. швейцарский нож из сниппетов для работы в web3 на живых примерах с единой логикой

web3grep

Client
Регистрация
27.11.2023
Сообщения
22
Благодарностей
60
Баллы
13
Да прибудет с вами автоматизация, мастера zennoджедаи и неокрепшие zennoпадаваны :bs:
С последней (как в прочем и с первой) моей статьи прошло полгода - настройки поднастроились, логика стала логичнее, кубики лаконичнее, да и много всякого полезного понатаскалось и написалось в базовый набор с которым можно наворотить всяких дел в web3 имея на попечении небольшую ферму.
Сторимода в этот раз не будет, а будет, как вы наверное поняли из названия, шаблон.

Шаблон представляет из себя объединенную логику для выполнения дейли задач с самыми разнообразными условиями и ситуациями.
Статья не будет большой, т. к. большая часть пояснений проговорена в видео непосредственно с указанием на кубики, тут я постараюсь осветить нюансы которые пропустил в видео и обобщить картину.
Итак содержание шаблона (по экшенам и ситуациям):
  • Настройки анонимного инстанса с прокинутой конфигурацией видео.
  • Работы с SQLite.
  • Импорта кошельков OKX, Glow, Backpack, Leap одним сниппетом с расшифровкой ключей из базы на лету (с проверкой на предыдущую установку)
  • Шифрования ключей с использованием отпечатка железа.
  • Логин в Twitter по токену (с X тоже работает).
  • Проверки валидности аккаунта в профиле перед авторизацией через Twitter(X).
  • Логин по креденшиалам.
  • Получения OTP через Dmail или API FirstMail.
  • Сохранения токенов twitter(x) в базу и заодно парсинг другой статистики (folowers,age, etc.).
  • Установки следующего старта на полночь по UTC (если дейлик как тыква) или считывание и ковертирование времени в таймштамп с сайта (если отсечка от клика, а не суточная)
  • Логин в Discord по токену или креденшиалам.
  • Экспорт токенов discord и парсинг инфы об аккаунтах в базу
  • Включение отключение расширений одним сниппетом (просто редактируем строку с нужными кошельками)
  • Проверка нативных балансов в EVM-блокчейнах через API эксплореров, либо стандартные POST RPC-запросы, либо Nethereum на выбор.
  • Проверка других данных из blockchain (балансы токенов, текущие нонсы, список последних транзакций)
  • Выполнения Nethereum-запросов (есть примеры wrap, unwrap, checkIn, unit256) с авторасчетом газа и универсальной сменой чейна, не нужно подставлять значения ручками ни в чейнID ни в газлимит, ни куда-то там еще. Все происходит автоматом.
  • Работы с таблицами (например, синхронизации Google Sheets с локальной таблицей или запись строки по индексу. Я был удивлен отсутствием такой простейшей функции как вставить строку в таблицу по индексу (чтобы еще и остальные индексы не поменялись ниже) - пришлось выпрашивать у AI).
  • Отчетов в Telegram с использованием markdownV2.
  • Интеграции с API Telegraph.
Все это не просто сложено в шаблоне и оторвано от реальности, а приведено на примерах работы с актуальными проектами и делает актуальные активности, а именно:
  • Layer3 GM и ежедневный лутбокс.
  • Ежедневные гемы IMX.
  • Assisterr ежедневная задача.
  • Проверка HumanScore в Galxe и Gitcoin Passport
В видео пропустил описание блока с настройками и сам сбор базы данных поэтому ниже картинки
Настройки монстра:
128474


  • pin - пароль от ключей
  • manual counter - принудительный запуск определенноо аккаунта минуя все проверки на выполнение
  • range - диапазон аккаунтов для рандома, можно задать список через зяпятую чтобы выбрать определенные
  • toDo - задачи для отработки (задачи можно добавлять путем добавления строк в настройки, скрипт обучен сам создавать новые таблицы под новые задачи в базе данных)
    128477
  • do fail - повторно пытаться сделать зафейленые задачи
  • cleanGlobal - в работе используются глобальные переменные, если вы не завершаете работу нормально в проджект мейкере - то они не будут сброшены и эта настройка их очистит
  • preCheckSocials - при этой настройке перед основной работой скрипт проверит залогинен ли профиль в социалки уже и верные ли там данные.
  • gasGate - можно встроить проверку газа при старте и не стартовать браузер если газа нет
  • humanNear - если шаблон наткнулся на ситуацию, которую он не может решить автоматически - то при активной галке он обратиться к вашей помощи (в обратном случае ошибка будет записана в базу и скрипт продолжит работу пропустив задачу)
  • workMode - тут можно выставить режимы работы (например пытаться регистрироваться или выполнять только определенный тип задач)
  • Далее идет блок со ссылками по которым мы будем работать с проектами - реферальные бонусы это же прекрасно.
  • После рефералок идет блок с глобальными настройками, в которых нужно указать путь к базе данных (готовой)
  • И можно установить галку для отправики отчета о падениях разработчику шаблона (тут нужно будет поменять токен бота в запросе к телеграм в самом последнем кубике после END, если вы захотите использовать эту функцию и настроить ее для себя).
С настройками закончили осталась самая важная деталь. Входные данные. "откуда же мне зять все входные данные, твиттеры, кошельки, дискорды и вот это все. Неужели переписывать все sql запросами которых я не знаю, в некую базу с которыми я никогда не работал?" - возможно спросишь ты.
- Нет, мой дорогой друг, тут вроде как концепт комьюнити "против ручной работы" и поэтому в комплекте к первому шабу, я не могу не докинуть второй.

Вторым шаблоном является DBuilder. Его функционал в отличие от первого узконаправлен и ограничен - его задача как раз таки собрать ваши данные из хаоса покупных txt c социалками, приватников от ваших кошельков, ваших входных настроек и прочего, что не нужно менять от скрипта к скрипту, единый файл который можно подкинуть в любой шаблон. Ну и с этим же файлом можно работать с помощью любого просмотровщика и это куда удобнее всяких там табличек (говорю из опыта человека, который год занимался церебральным сексом с таблицами, вместо того чтобы потратить два часа на то чтобы разобраться с БД).

Тут настроек несколько больше хоть и задач меньше

jobConfig

128513

  • pin - пароль для шифрования ключей
  • base Range - базовое значение пустых строк которое будет добавлено при создании таблиц с данными (иначе будет создано столько строк, сколько у вас во входящих данных)
  • import database - те данные которые вы хотите импортировать в базу (пустые таблицы будут созданы если их нет независимо от этой настройки, он влияет только на заполнение)
  • import sourse - в качестве источника для импорта можно выбрать txt файлы или гугл таблицы
  • databasePath - путь к конечной базе (если нет то будет создана, если есть то перезаписана- будьте аккуратны с вашими данными)
file Paths
128514

  • evm/sol keys - файлы с приватниками (каждый с новой строки)
  • cookies path и format - путь и формат названия .json файлов с куками для импорта (можно взять из ADS напрмер)
  • форматы и пути для входных данных. С путями думаю все понятно, нужно их просто указать. Что касается форматов - то что написано большими буквами является константами, на их основании нужно вставить строку так как она выглядит у вас. Если в ней нет каких-то данных это нормально, поля не являются обязательными для заполнения, но формат должен быть прописан так как указано, регистр сохраняем и фигурные скобки тоже.
  • zenFolder - это каталог на вашей машине, с которым будут работать скрипты в будущем (хранит бекапы, профили, crx файлы для импорта, скрины с ошибками и прочие файлы)
table Paths
128515

  • book0 - локальный файл с ключами (не шифруется при импорте расчет на то что ключи в нем уже шифрованные)
  • readme - вообще то этот вариант импорта я писал для переезда с гугл таблиц - если вам интересно как они были устроены можно почитать по ссылке в боксе и сделать так же, однако этот функционал является переходным и тут многобуков про него писать не вижу резона
SettingsTab
128516


  • videoVendor - выбираем производителя вашей видеокарты (указать правду и только правду)
  • renderers path - путь к файлу с видеокартами вашего вендора, собираем самостоятельно по размеру фермы. каждая видюха с новой строки
    пример:
    Google Inc. (AMD) ANGLE (AMD, Radeon RX RX550/550 Series Direct3D11 vs_5_0 ps_5_0, D3D11)
    Google Inc. (AMD) ANGLE (AMD, AMD Radeon(TM) Vega 8 Graphics Direct3D11 vs_5_0 ps_5_0, D3D11-27.20.11044.4003)
    Google Inc. (AMD) ANGLE (AMD, AMD Radeon(TM) R7 Graphics Direct3D11 vs_5_0 ps_5_0, D3D11-27.20.1034.6)
    Google Inc. (AMD) ANGLE (AMD, Radeon RX 580 Series Direct3D11 vs_5_0 ps_5_0, D3D11-27.20.14535.1000)
  • logger - настройки телеграм логгера. {token} бота, который является админом в некой группе c id {logGroup} и постит отчеты в ветку {logTopic}
  • mailGroupTg - группа с вашей почтой если вы забираете почту с мультов из телеграм
  • fMail login/pass/api - логин пароль от ящика firstMail с которого вы забираете переадресованную почту с мультов, а так же API ключ firstMail
  • dsServer/dsInvite - используется для джойна к серверам, это ссылка на топик на вашем собственном сервере где ваши мульты постят ссылки по которым джойнятся к другим каналам и соответсвенно инвайт ссылка на этот самый ваш дискорд сервер
  • perplexityAPI - апи AI сервиса perplexity, в отличии от openAI тут в pro подписку за те же 20$ входят апи запросы а не оплачиваются отдельно, сервис пердоставляет доступ ко всем современным AI моделям, а не только openAI, кстати по ссылке прошка встанет вам в 10$ а не в 20.
Так - с- с настройками разобрались вроде. Ты еще не сбежал от монитора, друг мой, от количества входящих? :dc: Ну если нет - то едем дальше, мы почти у цели :de:
Файлы:
  • для работы с базами данных нам понадобится драйвер. Скачать его можно с сайта разработчика, правда у сайта проблемы с сертификатом, а хром нынче очень самостоятельный и если вам не удается скачать оттуда, прикладываю файл к статье.
  • Так же прикладываю набор библиотек Nethereum. Содержимое архива нужно сложить в папку ExternalAssemblies
  • сами шаблоны dBuilder.zp и web3Monster.zp
  • .crx файлы версий с которыми протестирована работа шаблона скачать можно тут (не переименовывая сложить в папку ваш выбраный для зеннопостера каталог\.system\crx\) (не получилось прибиндить к статье)
Ну и наконец видео разбор шаблона monster

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

Вложения

Последнее редактирование:

mrkrot

Client
Регистрация
29.04.2021
Сообщения
10
Благодарностей
4
Баллы
3
Очень годная статья, спасибо за то что выложил свой труд!

Безусловно забираю себе в копилку:ay:
 

deukech

Client
Регистрация
11.09.2014
Сообщения
172
Благодарностей
113
Баллы
43
шикарно! не знаю когда, но пригодится!
 

spbalexpiter

Client
Регистрация
24.11.2013
Сообщения
405
Благодарностей
93
Баллы
28
Сильно.

А что делает сниппет SOL ENCRYPTOR?
 

web3grep

Client
Регистрация
27.11.2023
Сообщения
22
Благодарностей
60
Баллы
13

spbalexpiter

Client
Регистрация
24.11.2013
Сообщения
405
Благодарностей
93
Баллы
28
Мне надо вставить в расширение Bagpack кошелек соланы. Сниппет Bagpack import это делает?
И какие переменные надо заполнить, что сниппет сработал?
Никаких соц сетей и ничего другого в профиле нет

Имею ввиду, могу просто скопировать к себе в шаблон конкретно один этот сниппет? ну и естественно + гак + диррективы юзинг
 

web3grep

Client
Регистрация
27.11.2023
Сообщения
22
Благодарностей
60
Баллы
13
Мне надо вставить в расширение Bagpack кошелек соланы. Сниппет Bagpack import это делает?
И какие переменные надо заполнить, что сниппет сработал?
Никаких соц сетей и ничего другого в профиле нет

Имею ввиду, могу просто скопировать к себе в шаблон конкретно один этот сниппет? ну и естественно + гак + диррективы юзинг

снипетты расчитаны на работу с базой они не используют переменные проекта для импорта ключей,
но можно поискать строку decryptedString блокнотом и поменять ее на project.Variables["приватникСоланыВпроектеИлиКакТамНазванаПеременная"].Value

и crx нужно положить по пути
{project.Variables["settingsZenFolder"].Value}.system\\crx\\Backpack0.10.94.crx
 
  • Спасибо
Реакции: spbalexpiter

spbalexpiter

Client
Регистрация
24.11.2013
Сообщения
405
Благодарностей
93
Баллы
28
и crx нужно положить по пути
{project.Variables["settingsZenFolder"].Value}.system\\crx\\Backpack0.10.94.crx

как понять этот путь?
 

web3grep

Client
Регистрация
27.11.2023
Сообщения
22
Благодарностей
60
Баллы
13
и crx нужно положить по пути
{project.Variables["settingsZenFolder"].Value}.system\\crx\\Backpack0.10.94.crx

как понять этот путь?
вообще лучше поменять тогда
instance.InstallCrxExtension($"{project.Variables["settingsZenFolder"].Value}.system\\crx\\Backpack0.10.94.crx");

на
instance.InstallCrxExtension($"{project.Path}Backpack0.10.94.crx");

и в папку с проектом положить расширение, заодно от переменной избавиться можно
 
  • Спасибо
Реакции: spbalexpiter

Dobriyk0t

Client
Регистрация
28.12.2016
Сообщения
89
Благодарностей
45
Баллы
18
Скам под видео улыбнул *HAHA*
 

Кто просматривает тему: (Всего: 2, Пользователи: 1, Гости: 1)