Урок 4: Работа с базами данных в BAS
приветствие
в этом уроке расскажу вам про базы данных в басе. конкретнее как их создавать, редактировать, использовать и тд. всем плотного ворка
1. Введение в базы данных
База данных — это структурированное хранилище информации, которое позволяет хранить, управлять и извлекать данные. В контексте скриптов базы данных используются для хранения важной информации, такой как аккаунты, приватные ключи, прокси, значения газа и многое другое.
1.1. Создание базы данных
Для создания базы данных в вашем проекте необходимо:
- открываем раздел "база" сверху
- Нажать на кнопку "Создать базу".
- Выбрать режим создания: текстовый или конструктор.
- Текстовый режим подходит для тех, кто знаком с синтаксисом и предпочитает писать код вручную.
- Режим конструктора более удобен для новичков, так как позволяет создавать базу данных визуально, без необходимости писать код.
- Выбираем Режим конструктора
2. Создание таблиц и колонок
2.1. Создание таблицы
Таблицы в базе данных используются для хранения данных определённого типа. Например, можно создать таблицу для хранения аккаунтов, где каждая строка будет содержать информацию о кошельке, приватном ключе, профиле и прокси.
- Нажмите на кнопку "Добавить таблицу".
- Укажите название таблицы, например, "Аккаунты".
- Добавьте описание таблицы (опционально).
2.2. Добавление колонок
Колонки в таблице определяют, какие данные будут храниться. Например, для таблицы аккаунтов можно добавить следующие колонки:
- Кошелек (тип данных: string)
- Приватный ключ (тип данных: string)
- Профиль (тип данных: string)
- Прокси (тип данных: string)
- Rabby Wallet (тип данных: bool)
- Metamask (тип данных: bool)
- Discord (тип данных: bool)
- Twitter (тип данных: bool)
ну и так далее, смотря что вам конкретно нужно
- String — строка, используется для текстовых данных.
- Int — целое число, используется для числовых значений.
- Date — дата, используется для хранения временных меток.
- Bool — булевый тип, используется для хранения значений true/false.
после создания все сохраняем и перезапускаем бас
3. Управление данными в таблицах
Далее нажимаем "база" и заходим в "менеджер данных"
вы должны увидеть примерно такую картину
3.1. Добавление записей
Чтобы добавить запись в таблицу:
- Нажмите на кнопку "Добавить". (синие три полоски внизу)
- Заполните поля в открывшемся окне.
- Нажмите "Сохранить".
3.2. Редактирование записей
- Выберите запись, которую хотите изменить.
- Нажмите на иконку карандаша.
- Внесите изменения и нажмите "ОК".
3.3. Удаление записей
3.4. Группировка записей
Группировка позволяет объединять записи по определённым критериям. Например, можно создать группы для разных типов аккаунтов:
- Нажмите на кнопку "Добавить группу".
- Укажите название группы, например, "Группа 1".
- Переместите записи в нужную группу.
3.5. Фильтрация записей
Фильтрация позволяет отображать только те записи, которые соответствуют определённым критериям. Например, можно отфильтровать записи, где поле "Прокси" не пустое:
4. Работа с базой данных в скриптах
4.1. Вызов данных из базы
Для использования данных из базы в скрипте:
- Создайте ресурс базы данных. (про это расписывать не буду, вы уже умные, прошлый урок надеюсь видели)
- Выберите таблицу, с которой будете работать. Это делается через редактирование ресурса.
- При записи скрипта можете выбрать отдельные группы, если у вас разбиты аккаунты
- Далее создаем переменную, и выбираем ресурс "База данных". эта переменная берет в себя текущую строку из бд. можете зайти и посмотреть что в этой переменной, чтобы удостовериться
4.2. Парсинг данных
Для извлечения данных из строки базы данных используйте модуль "Строка" и функцию "Парсить CSV строку". Например, можно извлечь публичный ключ и приватный ключ из строки базы данных.
в строке список разделителей оставляем только ":", это стандартный разделитель в нашей баzе
Далее в строку "переменные, в которые сохранять результат" придумываем название переменных, например wallet, privatekey, rafgandon и тд. наша задача через запятую без пробелов записать все переменные, в которые будут сохраняться столбцы из базы данных. можете открыть переменную с базой чтобы посмотреть порядок данных в строке. каждый отдельный элемент отделен ":"
ссылку на профиль запишем как "_" так как мы потом ее обновим и запишем по другому. все тру и фолз тоже пропускаем, то есть ставим _
последний пункт - id в базе, он очень важен, его тоже отправляем в какую-нибудь переменную, например "bazaID"
Далее, чтобы использовать данные из бд, к примеру приватники для рэбби, нам нужно определить профиль с которым мы работаем
создаем переменную в которой будет храниться путь к профилю. пока оставляем и не заполняем значение, назовем к примеру "profilepath"
далее через модуль "работа с ресурсами" и через расположение ресурса сохраняем нашу папку с профилями в новую переменную. назовем ее "profilefolderpath". тоже оставляем пустым
кстати говоря я раньше баловался с названиями переменных, называл их всякого рода юмористическими прозвищами, но потом я очень сильно жалел, что недалекого ума у мамы вышел. поэтому вам советую все прописывать досконально и интуитивно понятно
перезапускаем софт и не забываем заполнить ресурсы
кубик с папкой с профилями перемещаем выше кубика с профилями
далее заходим в переменную с профилями и в "значение переменной" вставляем нашу переменную с папкой с профилями и добавляем /wallet . это тот самый кошелек, который мы распарсили из базы
далее идут кубики создания и настройки профиля, которые мы делали в прошлых уроках.
Открываем кубик "Настройки браузера" и внизу в разделе профиль меняем путь к папке профиля на нашу переменную "profilepath", далее запускаем этот кубик.
Фингерпринт
Далее чтобы не вызывать постоянно новый отпечаток в модуле "файловая система" заходим в "информация о папке". там в имя файла вставляем переменную profilepath и через / добавяем fingerprint.json то есть должно получится так [[PROFILEPATH]]/fingerprint.json
В остальных строках кроме "существование файла" все удаляем и пишем "_", как мы это делали ранее для пропуска
в существование файла напишем 'fpexist' к примеру
далее нам нужно добавить логику, чтобы когда бас не обнаруживал фингерпринт, он создавал новый.
для этого создаем if и пишем перед переменной fpexist восклицательный знак. то есть если нет отпечатка, то создаем и принимаем новый
под этот if переносим действия с получением и применением отпечатка
Прокси
теперь берем прокси из базы данных. Для этого заходим в наш кубик "прокси"
там удаляем значение прокси и вставляем переменную proxy, которые мы парсили из бд. лучше используйте прокси одного типа, так как иначе я вам только удачи могу пожелать
Приватник
автоматизируем регистрацию кошелька.
запускаем расширение rabby, но до этого подгружаем любую страницу, как мы это делали до этого.
Создаем функцию и называем ее rabbywalletprivatekey
далее при помощи наших знаний о селекторах прокликиваем все кнопки, next, get started, import private key. для этого выбираем непрямое управление или нажимаем F1. далее наводимся на нужный объект, кликаем и в появившемся меню выбираем кликнуть по элементу. тут уже либо оставляем, либо используем другой вид селектора, это уже было в предыдущих уроках.
далее нам нужно задать пароль. тут вы уже можете сделать как хотите. если у вас разные пароли к каждому кошельку, то добавляете столбец в базу данных(потом через менеджер данных добавляете в столбец данные). если хотите сделать один для всех, то создаете ресурс со строкой. вариантов может быть много. я например не заморачиваюсь и беру из глобальной переменной, то есть ресурса. если вы хотите заморочиться, то можете расширить базу, но тогда нужно будет отредактировать кубик с парсингом.
далее выбираем модуль строка, функцию ввод текста, выбираем при помощи селекторов куда вводить. в поле текст для ввода берем нашу переменную с паролем. интервал в миллисекундах можно указать 0. тоже самое делаем с "Password confirm"
По аналогии вводим приватник, только теперь берем переменную, которую мы спарсили из бд
далее нам нужно вызвать эту функцию в скрипте. она вызывается после того как мы загружаем расширение.
логика скрипта -> вызов функции -> rabbywalletprivatekey
следующий момент это проверка на то, просит ли кошелек ввести пароль при повторном входе. если просит, то вводим пароль, если нет, то будет вызываться функция с приватником
для этого нажимаем правой кнопкой мыши по полю вводу пароля и выбираем "проверить существование"
селектор выглядит примерно так >CSS> #password
далее добавляем >AT>0 если не знаете почему, то посмотрите урок с селекторами
нажимаем галку "проверять, виден ли элемент на экране"
сохраняем в переменную passexists
далее через модуль "логика скрипта" и функцию If создаем условие
в выражение вставляем passexists и добавляем блок else
под else перемещаем кубик с вызовом функции rabbywalletprivatekey
под if копируем селектор, который мы проверяли на существование и вводом текста вставляем пароль. либо из распарсенной переменной из бд(если вы делали такой столбец) либо из ресурса(если вы не паритесь)
ну и нажимаем unlock, это тоже оставляем под if
далее в поиске ищем действие "переключиться на вкладку" и переходим на вкладку 0 и можете так же через "закрыть вкладку" закрыть вкладку с расширением
4.3. Обновление записей
Чтобы обновить запись в базе данных:
- Используйте модуль "База данных".
- Выберите действие "Изменить одну запись".
- Укажите ID записи и новое значение для обновления.
5. Дополнительные возможности работы с базами данных
5.1. Экспорт и импорт данных
Базы данных позволяют экспортировать и импортировать данные в различных форматах, таких как Excel, CSV и SQL. Это полезно для создания резервных копий или переноса данных между проектами.
5.2. Использование удаленных баз данных
Для работы с большими объемами данных (более 10 тысяч записей) рекомендуется использовать удаленные базы данных, такие как MySQL или PostgreSQL. Они обеспечивают более высокую производительность и гибкость в управлении данными.
5.3. Оптимизация запросов
Для повышения производительности работы с базой данных важно оптимизировать запросы. Используйте индексы для ускорения поиска и избегайте сложных запросов, которые могут замедлить работу базы.
6. Советы и рекомендации
6.1. Регулярное резервное копирование
Регулярно создавайте резервные копии базы данных, чтобы избежать потери данных в случае сбоев.
6.2. Использование уникальных идентификаторов
Для каждой записи в базе данных используйте уникальные идентификаторы (ID). Это позволит легко находить и обновлять записи.
6.3. Оптимизация структуры базы данных
Планируйте структуру базы данных заранее, чтобы избежать необходимости внесения изменений в будущем. Используйте нормализацию данных для уменьшения избыточности.
7. Заключение
В этом уроке мы рассмотрели, как работать с базами данных в скриптах. Вы научились создавать таблицы, добавлять и редактировать записи, группировать и фильтровать данные, а также использовать базы данных в своих проектах.
Теперь вы можете использовать базы данных для хранения и управления информацией в своих скриптах, что значительно упростит работу с большими объемами данных и повысит эффективность ваших проектов.
надеюсь поддержите репостом, братва
в планах осталось еще 2 урока, чтобы полностью освоить базу. в скором времени дропну остальное. ЧАО ПОКА