Техзадание МЛМ
Цель приложения
Разработать скрипт для распределения донатов за рекомендованных и интегрированных участников в Ассоциацию. Система основана на рекомендациях через Blockchain Social Network (BSN) и токенах MTLAP, которые используются для мотивации участников к привлечению и поддержке новых членов.
Сущности
- Целевой счет — донатный счет для распределения средств по программе.
- Рекомендатель — участник, установивший на своем аккаунте ключ RecommendToMTLA с значением счета Рекомендуемого. Должен иметь четвертый уровень участия в Ассоциации (4 токена MTLAP на счету).
- Рекомендуемый — участник, которого установил в значение Рекомендатель с ключом RecommendToMTLA.
Основные функции и сценарии
1. Распределение донатов
- Раз в месяц 1/3 собранных донатов с Целевого счета распределяется между Рекомендателями.
- Вознаграждения распределяются между Рекомендателями пропорционально количеству полученных Рекомендуемым токенов MTLAP, только если их количество увеличилось с прошлого распределения.
2. Учет рекомендаций и работа с тегами
- Вознаграждение получает Рекомендатель, что раньше всех назначил Рекомендуемого.
- Исторически отозванные теги не учитываются в процессе распределения.
- Приложение должно содержать систему мониторинга для выявления и исключения злоупотреблений (не уверен что это нужно пытаться запихать сюда усложняя её, это достаточно поддерживать и чистить в ручном режиме, благо выборка небольшая).
- Рекомендатель раздаёт теги, но не занимается поддержкой новых членов (как определить? его члены стагнируют, оставаясь не верифицированными и не продвигаясь дальше по токеномике значимое время - тут политически определяться должно Советом, в разные моменты разная жёсткость требований должна быть, постепенно возрастая по мере развития системы и роста бюджета), то ему можно отозвать 4-й токен MTLAP и исключить из системы.
Технические требования
- Приложение должно быть написано по Протоколу Гильдии программистов.
- Параметры распределения должны быть вынесены в настройки.
Реализация
- Целевое приложение будет состоять из двух компонентов: самого скрипта с алгоритмом и бота для управления.
- Скрипт.
- Запускается отдельно раз в месяц.
- Проверяет дату последнего запуска и начинает расчет именно с нее.
- Настройки алгоритма будут хранится в базе (все цифры).
- После запуска записывается отчет и получившийся xdr в базу.
- По результату бот может отправить нотификацию в любой чат.
- Спрятать за настройку автоматическую отправку транзакции.
- Бот.
- Служит панелью управления скриптом.
- Может показывать список отчетов, перезапускать их (например, с новыми настройками).
- На будущее.
- Данные по расчетам будут храниться в базе, поэтому можно разрабатывать рейтинги, аналитику, что угодно.
- Через бота менять настройки скрипта. В MVP настройки будут предустановлены.
- Переиспользовать основу (настройки, отчеты) для других расчетов со всеми фичами выше.