Техзадание МЛМ

Материал из Montelibero


Концептуальные записки.jpg Эта статья представляет собой концептуальные записки. Возможно, её удастся привести к виду, достойному энциклопедической статьи?
См. Категория:Концептуальные записки для списка подобных статей.


Цель приложения

Разработать скрипт для распределения донатов за рекомендованных и интегрированных участников в Ассоциацию. Система основана на рекомендациях через Blockchain Social Network (BSN) и токенах MTLAP, которые используются для мотивации участников к привлечению и поддержке новых членов.

Сущности

  • Целевой счет — донатный счет для распределения средств по программе.
  • Рекомендатель — участник, установивший на своем аккаунте ключ RecommendToMTLA с значением счета Рекомендуемого. Должен иметь четвертый уровень участия в Ассоциации (4 токена MTLAP на счету).
  • Рекомендуемый — участник, которого установил в значение Рекомендатель с ключом RecommendToMTLA.

Основные функции и сценарии

1. Распределение донатов

  • Раз в месяц 1/3 собранных донатов с Целевого счета распределяется между Рекомендателями.
  • Вознаграждения распределяются между Рекомендателями пропорционально количеству полученных Рекомендуемым токенов MTLAP, только если их количество увеличилось с прошлого распределения.

2. Учет рекомендаций и работа с тегами

  • Если у нескольких Рекомендателей одни и те же Рекомендуемые, выводим в отчет конфликт и решаем его самостоятельно.
  • Исторически отозванные теги не учитываются в процессе распределения.
  • Рекомендатель ставит теги, но Рекомендуемый не интегрируется в Ассоциации, то ему можно отозвать 4-й токен MTLAP и исключить из системы решением Совета.

Технические требования

Реализация

  1. Целевое приложение будет состоять из двух компонентов: самого скрипта с алгоритмом и бота для управления.
  2. Скрипт.
    1. Запускается отдельно раз в месяц.
    2. Проверяет дату последнего запуска и начинает расчет именно с нее.
    3. Настройки алгоритма будут хранится в базе (все цифры).
    4. После запуска записывается отчет и получившийся xdr в базу.
    5. По результату бот может отправить нотификацию в любой чат.
    6. Спрятать за настройку автоматическую отправку транзакции.
  3. Бот.
    1. Служит панелью управления скриптом.
    2. Может показывать список отчетов, перезапускать их (например, с новыми настройками).
  4. На будущее.
    1. Данные по расчетам будут храниться в базе, поэтому можно разрабатывать рейтинги, аналитику, что угодно.
    2. Через бота менять настройки скрипта. В MVP настройки будут предустановлены.
    3. Переиспользовать основу (настройки, отчеты) для других расчетов со всеми фичами выше.