Перенести server UI в shine-UI и объединить PDA-модуль

This commit is contained in:
AidarKC
2026-06-03 15:11:26 +04:00
parent c97b3e3ec3
commit d12371b84f
22 changed files with 2006 additions and 753 deletions
+58
View File
@@ -0,0 +1,58 @@
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>SHiNE Server Admin</title>
<link rel="stylesheet" href="server-ui/styles.css" />
</head>
<body>
<div class="container">
<h1>SHiNE Server Admin</h1>
<p class="subtitle">Панель управления Solana PDA для серверного аккаунта SHiNE</p>
<div class="card">
<h2>Действия</h2>
<div style="margin-bottom: 12px;">
<a href="server-ui/create-server-pda.html">
<button class="btn-primary" style="width:100%">
Зарегистрировать серверный аккаунт (создать PDA)
</button>
</a>
</div>
<div>
<a href="server-ui/update-server-pda.html">
<button class="btn-secondary" style="width:100%">
Обновить настройки сервера (update PDA)
</button>
</a>
</div>
</div>
<div class="card">
<h2>Как это работает</h2>
<p style="color:var(--text-muted);font-size:13px;line-height:1.7;">
Каждый SHiNE-сервер регистрирует свой аккаунт в Solana в виде <strong>user_pda</strong>
с флагом <code>is_server=true</code>.<br/><br/>
В PDA хранятся:<br/>
&nbsp;• адрес сервера (например, <code>https://shineup.me/ws</code>);<br/>
&nbsp;• список серверов-партнёров для синхронизации блокчейна и DM;<br/>
&nbsp;• криптографический корневой ключ сервера.<br/><br/>
Клиенты читают PDA прямо из Solana при попытке дозвониться до пользователя или
установить WebSocket-соединение через сервер.
</p>
</div>
<div class="card">
<h2>Что потребуется</h2>
<p style="color:var(--text-muted);font-size:13px;line-height:1.7;">
<strong>Для создания:</strong> полный keyBundle сервера (rootPair + devicePair + blockchainPair),
логин сервера (без точки, не более 20 символов), URL-адрес сервера, Solana-эндпоинт,
достаточный баланс SOL на device-ключе для комиссии.<br/><br/>
<strong>Для обновления:</strong> только rootPair + devicePair (blockchain-ключ не нужен).
</p>
</div>
</div>
</body>
</html>