Здравствуйте. Изначально планировалось сделать viz-projects на базе централизованного сайта, но подумав, решено было сделать протокол на custom операциях.
Для чего
Для того, чтоб можно было смотреть, какие проекты для Viz создали, а также какие новости по ним. Тот-же viz_social_bot и его новости.
Что такое custom операции (для тех, кто не знает)?
Это операция, позволяющая отправлять в блокчейн данные в формате JSON. Они могут содержать всё, что угодно: на control.viz.world/media — это посты, но это может быть структура токена, игровых ресурсов и вообще чего угодно (зависит от проекта). В viz-projects это будет custom операция с некоторым функционалом, касающимся проектов.
Основа
- Все custom операции viz-projects будут содержать id viz-projects;
- Структура будет иметь вид:
{"action",{data}
.
Где action — действие, например, создание проекта, а data — прочие данные.
Список действий
- submit_project. В data содержит следующую информацию:
name — название проекта, description — описание, github — репозиторий, site — сайт, category — категория, version — версия, languages — языки (формат: ru, en, de, fr, cn, jp, kr, tr…), command — команда проекта (список viz логинов);
Для обновления надо отправить операцию ещё раз, но важно, чтоб название проекта совпадало с прежним, а также обновлял тот, кто отправил проект в каталог первый раз.
Категория — это название на Английском, например, social, information, for_developers и пр. - submit_news — отправка новости по проекту (название проекта должно совпадать с существующим, новость будет приниматься только от тех, кто состоит в команде проекта). Данные:
name — название проекта, title — заголовок новости, preface — анонс (предисловие), body — текст новости, lang — язык (ru, en, de, fr, tr и т.д.). - add_category — name, description, russian_name, english_name — названия на Русском и Английском.
Добавлять смогу только я.
Список категорий
Пока не знаю точный список — его надо продумывать, но вот примерный:
social — социальные (тот-же viz_social_bot или vizonator), blockchain_frontend — пока неточное название, но в этой категории будут сервисы, позволяющие работать с БЧ Viz (my viz+, info viz+, dpos.space), funny — развлечения (игры и пр.).
То, о чём в сомнениях
По поводу системы модерации. Мысли о том, как сделать, чтоб не начали спамить несуществующими проектами ради ссылок.
варианта 2:
- Действие moderation. Данные: name — название проекта, approve — true или false — разрешить проект или запретить.
Плюсы: наиболее просто, нет вероятности манипуляций. Минус: централизовано, т.к. модератор — это я, а если кому-то доверять ещё, появляется человеческий фактор. Да и в целом, централизации меньше не становится… - vote — на протяжении семи дней дать возможность голосовать за или против проекта. Данные:
name — название, approve — true или false — если за, сумма соц. капитала пойдёт в плюс к проекту, false — в минус. Если сумма итоговая <= 0, проект не добавляется.
Плюс в децентрализации. Минусы:
Во-первых, это вероятность, что владельцы стека начнут голосовать за своих любимчиков.
Во-вторых, могут начаться войны, когда занижают вполне нормальные проекты.
В-третьих, будут ли активно голосовать владельцы соц. капитала…
Подробности про итоговую сумму
Допустим, добавили проект. За него проголосовал 1 пользователь со стеком 100000, второй на 400000. Суммарное число 500000. Третий проголосовал против проекта, и соц. капитал у него 1000000. Тогда у проекта будет итоговое число -500000 (500000 — 1000000).
Всё
Предлагайте идеи по развитию viz-projects protocol.
Также интересует, считаете ли важным создание именно такого решения, а не централизованного сайта?
С вами был Денис Скрипник — незрячий делегат, разработчик и поклонник Viz.
P.S. Следующий этап — это внедрение данного протокола на сайт:
- Парсинг блоков в поисках соответствующих структур,
- Формы добавления проектов и новостей.
- Вывод из базы данных список проектов и новостей, возможность просмотра текста новости на отдельных страницах.
P.P.S. Почему Альфа версия? Потому что это лишь концепция, к тому-же которая может быть изменена, если сообщество предложит идеи.
Наградить автора поста