SHA256
1.7 KiB
1.7 KiB
Межсерверная передача сообщений
Зачем
Когда у SHiNE появится несколько серверов, пользователи на разных серверах должны получать личные сообщения без ручной синхронизации и без привязки к одному центральному узлу.
Что сделать
- Определить протокол server-to-server доставки DM.
- Добавить маршрутизацию получателя по серверу, user id, публичному ключу или PDA.
- Добавить ACK, повторы, дедупликацию и backfill пропущенных сообщений.
- Разделить realtime-доставку и восстановление истории.
- Описать поведение при недоступности удалённого сервера.
Что учесть
- Логика DM должна соответствовать документам в
docs/Personal_Messages/. - При изменении формата signed DM-блока или правил доставки нужно обновлять протокол и байтовый формат DM.
- Если появятся новые server API/WebSocket операции, нужно обновить
docs/API/.
Документы, которые потом нужно обновить
docs/Personal_Messages/Протокол_DM_v1.md;docs/Personal_Messages/Формат_DM_v1.md;docs/API/;docs/API/09_Operations_Index.md, если добавляются новыеop.
Статус
Отложено до этапа децентрализации.