Децентрализованная социальная сеть обратной связанности на социальной блокчейн платформе VIZ.
Концепт в 4 публикациях:
- Протокол децентрализованной социальной сети на распределенном реестре
- Построение нового протокола на блокчейне VIZ
- Протокол Голос на блокчейне VIZ
- Использование промежуточного хаба в протоколе Голос
Создается минималистичный концепт автономного html файла, который будет обращаться к публичным нодам для взаимодействия.
Цензура, свободный доступ к информации в распределенном реестре.
Чат проекта в телеграме: @ozi_free_speech_project
Создать микро сервис с открытыми CORS политиками, который сформирует и отдаст json, содержащий:
- sitename (если нет, то host)
- title страницы (смотрим мета данные)
- description страницы (смотрим мета данные)
- image в сжатом виде и пропущенную через base64 (meta image) Входящие данные в виде стандартного url.
Так как протоколов в блокчейне может быть много, пользоваться единым custom счетчиком внутри аккаунта было бы не логичным. Нужно разработать плагин на C++ для ноды https://github.com/VIZ-Blockchain/viz-cpp-node/tree/master/plugins который будет следить за custom операциями и формировать индекс для api запросов вида: get_user_custom_list (input: account login) — возвращает список уникальных custom протоколов, которые использовал user get_user_custom_sequence (input: account login, custom name) — возвращает custom_sequence как счетчик операций заданного custom протокола и custom_sequence_block_num как номер последнего блока, где была custom операция
Кэш сервис для API запросов к публичным нодам, по совместительству load balancer. Нужно, чтобы сервис держал список публичных нод и периодически проверял их доступность и актуальность последнего блока. И распределял между ними нагрузку на входящие запросы. Ответ кэшировал до следующего блока (было бы здорово вычислять это автоматически ИЛИ задавать длительность кэша в конфиге (например: 1 или 3 секунды было бы достаточно для динамических данных, а для таких как операции в блоке — можно и на минуту кэшировать)). Делать это на нативных структурах самого языка, чтобы не подключать дополнительную прослойку в виде того же memcached или redis. Например, для PHP подошел бы https://www.php.net/manual/ru/function.apc-store.php