Files
SHiNE-server/SHiNE-server/AGENTS.md
T

3.2 KiB
Raw Blame History

AGENTS.md — SHiNE-server

Назначение

SHiNE-server — серверная часть мессенджера SHiNE: WebSocket-сервер, хранение блоков блокчейна пользователей, доставка личных сообщений (DM), звонки.

Структура папок

  • shine-server-net-server/ — точка входа, запуск HTTP/WS сервера
  • shine-server-net-protocol/ — обработчики операций (RPC и события WS)
  • shine-server-db/ — DAO, SQL-схема, SQLite
  • shine-server-blockchain/ — логика хранения и проверки блоков блокчейна
  • shine-server-crypto/ — криптографические утилиты
  • shine-server-config/ — конфигурация сервера
  • shine-server-log/ — логирование
  • shine-server-geo/ — геолокация IP

Настройка сервера в Solana (Solana PDA)

Серверный аккаунт SHiNE регистрируется в Solana в виде user_pda с флагом is_server=true. В PDA хранятся:

  • адрес сервера (URL WebSocket/HTTPS, например https://shineup.me/ws);
  • список серверов синхронизации (sync_servers) — логины SHiNE-аккаунтов серверов-партнёров, с которыми синхронизируются блоки и DM;
  • корневой ключ сервера (root_key).

Клиенты читают PDA напрямую из Solana, чтобы узнать адрес сервера и при необходимости подключиться.

Управление серверной PDA выполняется через Web-панель администратора:

shine-server-UI/index.html

Страницы:

  • create-server-pda.html — первичная регистрация серверного аккаунта;
  • update-server-pda.html — обновление адреса или списка sync_servers.

Для регистрации нужен полный keyBundle (root + device + blockchain). Для обновления — только root + device (blockchain-ключ не нужен).

Актуальные адреса программ Solana (devnet):

  • shine_users: FZS1YctoeEhCkZ5VTjsysUFAXR8CqxYztcLboXcg2Rpm
  • shine_payments: m48pWRGWrMj3TEHjuU4zsp5Gju4e7ZaPovk8RcVt7kR

Подробнее: Dev_Docs/Инициализация_Solana_регистрации/README.md

Синхронизация с партнёрскими серверами

Сервер должен синхронизировать блоки блокчейна и DM с серверами-партнёрами из sync_servers. Детали: Dev_Docs/Blockchain/sync-between-servers.md

Деплой

./gradlew deployServer

Хост по умолчанию: player@93.170.12.154 (shineup.me).

Логи на проде:

  • /home/player/SHiNE/shine-server/logs/app.log
  • /home/player/SHiNE/shine-server/logs/call-delivery-events.log

Язык

Комментарии в коде, документация и commit-сообщения — на русском языке.