IT заметки по программированию
IT заметки по программированию
IT заметки по программированию
IT заметки по программированию

Проект: Система управления майнинг пулом

О проекте

Высокопроизводительная, надежная и безопасная платформы для коллективного майнинга криптовалют. Система обеспечивает объединение вычислительных мощностей пользователей, оптимизацию распределения задач и справедливое распределение вознаграждений среди участников пула.

Система развертывается на нескольких, географически разнесенных серверах, построена на принципах микросервисной архитектуры, использует отказоустойчивые кластеры баз данных.

Ниже приведена группа ссылок по которым можно в подробностях ознакомится с описанием, архитектурой, терминологией и требованиям к разработанной системе:

Описание проекта

Архитектура системы

Применяемые технологии

Теория майнинга

 

Интерфейс пользователя

Главная страница

  • Список всех поддерживаемых криптовалют, с указанием алгоритма хеширования и текущими параметрами работы (общий хешрейт, количество майнеров/воркеров онлайн, время последнего блока).
  • Поиск по кошельку (поле в шапке), ведущий на страницу майнера
  • Поддержка нескольких языков. В шапке — переключатель языков.
  • Ссылки на группы поддержки в Telegram и Discord.

 

Страница криптовалюты

  • отображаются текущие параметры работы пула в разрезе методов вознаграждения: комиссия пула, минимальный размер выплаты, периодичность выплат, количество майнеров/воркеров онлайн, текущий хешрейт, общее количество добытых блоков, дата нахождения последнего блока.
  • отображаются текущие усилие нахождения блока, среднее усилие за последние 100 блоков и среднее усилие за все время работы пула.
  • Калькулятор. При указании своего хешрейта и метода вознаграждения майнер должен увидеть ориентировочный доход на пуле за вычетом комиссии пула на который он может рассчитывать по истечении дня/недели/месяца добычи. А также может получить рекомендации по выбору метода получения вознаграждения.
  • Текущий курс криптовалюты в долларах и ссылки на бирже, где можно эту криптовалюту обменять.
  • Список программ-майнеров, с помощью которых можно добывать криптовалюту, их процент и ссылки на скачивание.
  • Список доступных серверов для добычи с возможностью выбора локации и метода вознаграждения и генерацией ссылки для подключений (адрес сервера и порт).
  • Графики хешрейтов: общий – сумма хешрейтов по всем используемым методам возгнаграждения и в разрезе каждого метода.
  • Статистика добычи блоков в разрезе методов вознаграждения (дата, высота блока, хеш, общее затраченное усилие, награда за блок, кто добыл и на каком сервере).
  • Список активных майнеров в разрезе методов вызнаграждения (кошелек, хешрейт, дата последней шары)
  • Список выплат в разрезе методов вызнаграждения (дате, сумма, кошелек, ID транзакции со ссылкой на blockchain explorer криптовалюты)

 

Страница майнера:

  • несколько вкладок для каждого метода вознаграждения
  • для каждого метода отображается: текущий хешрейт, средний хешрейт, количество воркеров онлайн/офлайн, доля хешрейта майнера в общем хешрейте пула, невыплаченный баланс, выплаченная сумма, минимальный установленный размер выплаты с возможностью ее смены.
  • график хешрейта и среднего хешрейта майнера по каждому методу
  • таблица воркеров онлайн (название, текущий хешрейт, средний хешрейт, дата последней шары)
  • таблица воркеров офлайн
  • таблица выплат майнера (дата, ID транзакции со ссылкой на blockchain explorer, сумма выплаты).
  • таблица начисленных вознаграждений майнера (дата, высота блока, сложность блока, сложность шары нашедшей блок, хеш блока со ссылкой на blockchain explorer, сумма вознаграждения майнера). При нажати на сумму – развертывается детальная информация по наградам по каждому воркеру майнера.

Страница воркера: тоже что и у майнера, только в разрезе воркера.

Страница найденных блоков

  • Таблица действительных блоков – подтвержденные блоки, за который была получена награда (дата блока, хеш блока со ссылкой на blockchain explorer).
  • Таблица ожидающих блоков – найденные, но еще неподтвержденные блоки.
  • Плохие блоки – наденные, но отклоненные блоки, за которые награда не начислялась.

Страница реферальной программы: описание реферальной программы и ссылки на вход или регистрацию

Страница пользователя реферальной программы

  • реферальная ссылка, для привлечения других пользователей
  • балансы заработанного по каждой криптовалюте
  • форма указания порога выплаты и кошелька для выплат
  • список рефералов пользователя
  • В футере ссылки на Telegram bot системы, чаты поддержки в Telegram и Discord.

 

Интерфейс администратора

Страница “Мониторинг”

  • для каждой криптовалюты свой вкладка
  • каждый сервер в разрезе регион/криптовалюта/метод вознаграждения имеет окошко, где в режиме реального времени выводится список количества последний присланных от майнеров шар. Это позволяет нагляно наблюдать за текущей активностью на всех серверах системы, оценивать их загруженность и обнаруживать их падение.
  • окно подключений/отключений воркеров. В режиме реального времени выводится список подключающихся/отключающихся воркеров, что позволяет отслеживать аномальную активность или проблемы с подключениями. В строке отображается имя воркера, сервер на котором он работает, ссылки на воркер и кошелек на основном сайте для просмотра графиков и статистики работы.
  • Окно найденных блоков: отображение в реальном времени найденных и подтвержденных блоков.
  • Окно с ошибками пула: отображение в реальном времени ошибок, возникающих в процессе функционирования пула.
  • Окно выплат: отображение в реальном времени платежей, сделанных системой на кошельки майнеров.

 

Страница “Выплаты”

Возможность вручную делать платежи на указанный кошелек по каждой криптовалюте

Страница “Деньги”. Информация по кошелькам пула. По каждой криптовалюте отображается:

  • Суммарный баланс по криптовалюте на кошельках пула
  • Балансы по каждому кошельку
  • Невыплаченный баланс
  • Чистый остаток
  • Невыплаченные суммы пользователей в разрезе кошельков/методов вознаграждения

 

Страница “Серверы” – мониторинг загруженности и состояния всех серверов системы

  • RAM всего
  • RAM использовано
  • Swap всего
  • Swap использовано
  • Диск всего
  • Диск использовано
  • Диск доступно
  • Диск использовано в процентах
  • Загрузка CPU
  • Трафик по часам, трафик по дням, трафик по месяцам

 

Страница “Статистика” – статистика работы воркеров

  • поиск воркера по названию
  • поиск майнера по названию
  • фильтрация воркеров по монете, серверу, методу вознаграждения, активности за последние N минут, по дате последней шары, количеству реконнектов за период, количеству шар за период.
  • отображение IP, текущего хешрейта, среднего хешрейта, дата последней шары, время создания воркера, ссылка на страницу майнера.
  • построение графика количества присланных шар. Полезно для выявления аномалий в работе воркеров.

Страница “Конфиги” – управление ручной подстройкой работы воркеров по методу FPPS (оплаты за каждую присланную шару).

 

Страница “SEO” – управление описаниями на страницах криптовалют.

Страница “Рефералы”

  • просмотр списка рефералов по каждой криптовалюте
  • просмотр начислений и списаний по реферальной программе

 

Страница “Воркеры”
Для только что зарегистрированных воркеров существует “льготный период”, когда с них не взимается комиссия пула. На этой странице отображается список таких воркеров с начало и концом их “льготного периода”.

Страница “Утилиты”

  • Валидация кошельков: проверка на корректное название кошелька для каждой криптовалюты.
  • Пересчет графиков хешрейта и среднего хешрейта по каждой криптовалюте: при нажатии соответствующей кнопки запускается процесс пересчета данных для построения графиков. Бывает необходимо после возникновения сбоев.

Страница “Блоки”

  • список всех найденных блоков (хеш, сервер, криптовалюта, статус, высота, награда, дата)
  • просмотр долей майнеров, добывших этот блок – открывается при нажатии на кнопку “доли майнеров”. Отображается имя воркера, процент вклада в работу, награда.

 

Все подробности проекта

Архитектура системы

Применяемые технологии

Теория майнинга