Skip to content
This repository was archived by the owner on Nov 3, 2025. It is now read-only.
DenisHumenPublic archive

About

Скрипты для elixir

Resources

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

 

History

12 Commits

Folders and files

Repository files navigation

check_status.py

README еще требует правки, не полная информация Обязательно нужно поправить base в файле под себя. Этот проект мониторит статус валидаторов Elixir и записывает результаты в базу данных MySQL. Ниже представлена структура базы данных и необходимые SQL-команды для создания требуемых таблиц.

Структура базы данных

База данных: DATA

Эта база данных содержит следующие таблицы:

  1. Таблица: elixir

    • Описание: Хранит информацию о кошельках, которые мониторятся.
    • Поля:
      • wallet_address (TEXT, PRIMARY KEY): Уникальный адрес кошелька.
      • online (TEXT): Статус онлайн кошелька, представленный:
        • 🟢 (Онлайн)
        • ❌ (Оффлайн)
        • ОШИБКА-ПРОВЕРИТЬ (Ошибка)
      • uptime_week (TEXT): Время работы кошелька за последнюю неделю, представленное в текстовом формате.
  2. Таблица: proxy

    • Описание: Хранит IP-адреса прокси-серверов, используемых для выполнения запросов.
    • Поля:
      • id (INT, AUTO_INCREMENT, PRIMARY KEY): Уникальный идентификатор для каждого прокси.
      • IP (TEXT): IP-адрес прокси-сервера.

SQL-команды для создания базы данных и таблиц

Для настройки структуры базы данных выполните следующие SQL-команды в вашей MySQL среде (создается один раз, и дальше используется всеми скриптами):

-- Создать базу данных, если она не существует
CREATE DATABASE IF NOT EXISTS DATA;

-- Использовать созданную базу данных
USE DATA;

-- Создать таблицу с нужной структурой
CREATE TABLE IF NOT EXISTS my_table (
    id INT PRIMARY KEY AUTO_INCREMENT,  -- Уникальный идентификатор (автоинкремент)
    ids INT DEFAULT NULL,                -- Дополнительный идентификатор 
    online TEXT DEFAULT NULL,            -- Статус онлайн
    uptime_week TEXT DEFAULT NULL,       -- Время работы за неделю
    transaction TEXT DEFAULT NULL,       -- Информация о транзакции
    name TEXT DEFAULT NULL,              -- Имя
    desktop TEXT DEFAULT NULL,           -- Информация о контейнере
    gray_ip TEXT DEFAULT NULL,           -- Серый IP
    white_ip TEXT DEFAULT NULL,          -- Белый IP
    private_key TEXT DEFAULT NULL,       -- Приватный ключ
    wallet_address TEXT DEFAULT NULL,    -- Адрес кошелька
    mnemonic TEXT NOT NULL,              -- Мнемоническая фраза (обязательное поле)
    last_updated TEXT DEFAULT NULL       -- Дата последнего обновления
);

Обновление нод Elixir

Этот скрипт предназначен для проверки и обновления нод Elixir, основываясь на последнем обновлении контейнера в Docker Hub и значениях, хранящихся в базе данных MySQL.

Описание

Скрипт выполняет следующие функции:

  1. Получение последнего обновления из Docker Hub: С помощью API Docker Hub скрипт получает дату последнего обновления для указанного репозитория.

  2. Подключение к базе данных MySQL: Скрипт подключается к базе данных MySQL для извлечения IP-адресов нод и значений последнего обновления.

  3. Обновление нод: Если значение последнего обновления в базе данных отличается от значения, полученного из Docker Hub, скрипт подключается к соответствующей ноде через SSH и выполняет команду обновления.

Установка

  1. Убедитесь, что у вас установлены следующие библиотеки:

    pip install requests mysql-connector-python paramiko tqdm
base = {
    'user': 'root',
    'passwd': 'YOUR PASSWORD',
    'host': 'IP FOR SERVER MYSQL',
    'database': 'DATA',
    'raise_on_warnings': True
}

Запустите скрипт

python3 auto_update_elixir.py

Обновление контейнера Elixir

Этот скрипт предназначен для обновления контейнера Elixir на сервере. Он останавливает текущий контейнер, загружает последнюю версию и запускает новый контейнер с необходимыми параметрами.

Описание

Скрипт выполняет следующие действия:

  1. Загружает и выполняет скрипт логотипа.
  2. Останавливает и удаляет текущий контейнер Elixir.
  3. Загружает последнюю версию образа elixirprotocol/validator:v3 из Docker Hub.
  4. Запускает новый контейнер с параметрами, указанными в файле окружения /root/validator.env.

Установка

Убедитесь, что у вас установлен Docker. Если Docker не установлен, следуйте инструкциям по установке Docker.

Использование

bash <(curl -s https://raw.githubusercontent.com/DenisHumen/elixir/refs/heads/main/elixir_update.sh)

Установка и настройка ноды Elixir

Этот скрипт предназначен для автоматической установки и настройки ноды Elixir на сервере. Он обновляет систему, устанавливает необходимые пакеты, создает файл окружения для контейнера и запускает ноду.

Описание

Скрипт выполняет следующие действия:

  1. Обновляет пакеты системы.
  2. Устанавливает curl и docker.io.
  3. Загружает и выполняет скрипт логотипа.
  4. Запрашивает адрес кошелька, приватный ключ и имя ноды у пользователя.
  5. Создает файл validator.env с введенными данными.
  6. Загружает образ elixirprotocol/validator:v3.
  7. Запускает новый контейнер Elixir с заданными параметрами.
  8. Предоставляет команды для просмотра логов и обновления ноды.

Использование (запуск)

bash <(curl -s https://raw.githubusercontent.com/DenisHumen/elixir/refs/heads/main/install_elixir_validator.sh)

About

Скрипты для elixir

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages