2024-02-19-23-30
This commit is contained in:
parent
e564ed3d39
commit
37185194a3
@ -37,6 +37,7 @@ Gemini - сетевой протокол прикладного уровня, я
|
|||||||
Некоторые браузеры поддерживают разметку inline:
|
Некоторые браузеры поддерживают разметку inline:
|
||||||
|
|
||||||
<code>
|
<code>
|
||||||
|
``` заголовок неформатируемого блока
|
||||||
*bold*
|
*bold*
|
||||||
_underline_
|
_underline_
|
||||||
</code>
|
</code>
|
||||||
|
@ -17,6 +17,10 @@ KevaChat - приватно-ориентированный, устойчивый
|
|||||||
* 1.8 - регистрация пользователей с перманентным реестром логин/bcrypt хеш пароля в блокчейн (namespace _KEVACHAT_USERS_ текущего узла).
|
* 1.8 - регистрация пользователей с перманентным реестром логин/bcrypt хеш пароля в блокчейн (namespace _KEVACHAT_USERS_ текущего узла).
|
||||||
* 1.9 - настройки комиссий за публикации, создание новых комнат и регистрацию аккаунтов. Используется в основном в качестве анти-спама, также может служить в качестве монетизации узла.
|
* 1.9 - настройки комиссий за публикации, создание новых комнат и регистрацию аккаунтов. Используется в основном в качестве анти-спама, также может служить в качестве монетизации узла.
|
||||||
* 1.10 - введена система внутренней экономики: зарегистрированные пользователи теперь имеют собственный счёт, баланс которого могут расходовать на публикации а также получать на него донаты.
|
* 1.10 - введена система внутренней экономики: зарегистрированные пользователи теперь имеют собственный счёт, баланс которого могут расходовать на публикации а также получать на него донаты.
|
||||||
|
* 1.11 - обновление протокола:
|
||||||
|
* //ключи// больше не содержат меток времени (в качестве ключа используется только имя пользователя)
|
||||||
|
* в //значениях// убраны знаки @ для построения дерева вложенности (для идентификации используется только цитируемый txid в начале цитирующей строки)
|
||||||
|
* время публикации определяется фактическим временем транзакции
|
||||||
|
|
||||||
==== geminiapp ====
|
==== geminiapp ====
|
||||||
|
|
||||||
@ -42,21 +46,22 @@ KevaChat реализует стандартный протокол KevaCoin и
|
|||||||
|
|
||||||
Тем не менее, для построения цепочки сообщений и социальных функций, используются следующий подход:
|
Тем не менее, для построения цепочки сообщений и социальных функций, используются следующий подход:
|
||||||
|
|
||||||
* приложение читает все namespace в аккаунте, которые принято считать чат комнатами;
|
* время сообщения соответствует фактическому времени транзакции;
|
||||||
* данные об авторе сообщения сохраняются в значение key, в формате unixtime@username - таким образом, можно открыть например [[ http://kevachat.ygg/room/NgKBKkBAJMtzsuit85TpTpo5Xj6UQUg1wr | официальный блог KevaCoin]], но сообщения в нем прочитаны не будут, поскольку не соответствуют формату чат-приложения.
|
* все namespace в аккаунте принято считать чат комнатами;
|
||||||
* текст сообщений сохраняется в значениях value и поддерживает следующие макросы:
|
* имя автора сообщения сохраняется в значение key;
|
||||||
* @txid в начале сообщения - указывает ссылку на родительский пост, используется в "ответах" (reply) - Web UI скрывает такие ссылки и добавляет вложенность;
|
* текст сообщений сохраняется в значение value и поддерживает следующие макросы:
|
||||||
|
* txid в начале сообщения - указывает ссылку на родительский пост, используется в "ответах" (reply) - например, webapp скрывает такие ссылки и добавляет вложенность, в то время как geminiapp - добавляет цитату;
|
||||||
* namespace hash - в системе KevaCoin всегда начинается с символа N, такие вхождения заменяются кликабельной ссылкой;
|
* namespace hash - в системе KevaCoin всегда начинается с символа N, такие вхождения заменяются кликабельной ссылкой;
|
||||||
* url - автоматически заменяется на кликабельную ссылку;
|
* url - автоматически заменяется на кликабельную ссылку;
|
||||||
* #теги - на данный момент поиск по тегам не реализован, но уже используется в сообщениях.
|
* #теги - на данный момент поиск по тегам не реализован, но уже используется в сообщениях.
|
||||||
|
|
||||||
Для базы пользователей используется namespace _KEVACHAT_USERS_, с парой ключ (логин) и значение (хеш пароля bcrypt).\\
|
Для базы пользователей зарезервирован namespace _KEVACHAT_USERS_, с парой ключ (логин) и значение (хеш пароля bcrypt).\\
|
||||||
Подлинность авторизации обеспечивается подписью узла, на котором осуществлена регистрация.
|
Подлинность авторизации обеспечивается подписью узла, на котором осуществлена регистрация.
|
||||||
|
|
||||||
В остальном, протокол стремится минимизировать объем сохраняемых данных, а также читаемость в исходном виде.\\
|
В остальном, протокол стремится минимизировать объем сохраняемых данных, а также читаемость в исходном виде.\\
|
||||||
Любая разметка удаляется приложением, в том числе с целью предотвращения XSS и запросов к внешним ресурсам.
|
Любая разметка обычно фильтруется клиентским приложением, в том числе с целью предотвращения XSS и запросов к внешним ресурсам.
|
||||||
|
|
||||||
Также не используются обертки JSON и прочие программные слои для расширения возможностей базы данных KevaCoin.
|
Также не используются обертки JSON и прочие программные слои, затрудняющие чтение исходной базы данных.
|
||||||
===== Публикации =====
|
===== Публикации =====
|
||||||
|
|
||||||
Публиковать сообщения можно анонимно (в блокчейне не сохраняется какой либо инфорации об авторе, кроме timestamp и сообщения)
|
Публиковать сообщения можно анонимно (в блокчейне не сохраняется какой либо инфорации об авторе, кроме timestamp и сообщения)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user