63 lines
4.7 KiB
Markdown
63 lines
4.7 KiB
Markdown
# Кошелёк и пополнение баланса сияния
|
||
|
||
- Горизонт:
|
||
`medium`
|
||
- Ориентир:
|
||
среднесрочно
|
||
- Статус:
|
||
`proposal`
|
||
|
||
## Кратко
|
||
|
||
Нужно добавить кошелёк для внутреннего баланса сияния и пополнение этого баланса через блокчейн-логику проекта. Задача связана с регистрацией пользователя и будущим учётом баланса.
|
||
|
||
## Предполагаемый сценарий
|
||
|
||
1. Пользователь регистрируется и получает/подключает нужные кошельки.
|
||
2. В интерфейсе появляется баланс сияния.
|
||
3. Пользователь открывает пополнение баланса сияния.
|
||
4. Система создаёт или принимает блокчейн-операцию пополнения.
|
||
5. После подтверждения баланса UI обновляет значение.
|
||
|
||
## Что нужно продумать
|
||
|
||
1. Что именно является единицей баланса сияния.
|
||
2. Где хранится состояние баланса: в существующем блокчейне SHiNE, Solana-модуле или комбинированно.
|
||
3. Какая операция отвечает за пополнение.
|
||
4. Нужно ли делать отдельную регистрацию кошелька сияния или использовать существующую регистрацию пользователя.
|
||
5. Как баланс восстанавливается после перезагрузки клиента.
|
||
6. Какие права нужны для пополнения и списания.
|
||
7. Нужна ли история операций баланса.
|
||
|
||
## Вопросы перед реализацией
|
||
|
||
1. Пополнение баланса сияния должно идти через основной блокчейн SHiNE или через Solana-программу.
|
||
2. Нужна ли конвертация из SOL/AR в сияние.
|
||
3. Кто может выпускать или начислять сияние.
|
||
4. Нужно ли поддерживать перевод сияния между пользователями.
|
||
5. Нужны ли лимиты, комиссии или статусы подтверждения.
|
||
6. Какой экран должен показывать баланс: регистрация, профиль, кошелёк или отдельная страница.
|
||
7. Нужно ли отображать неподтверждённый баланс отдельно от подтверждённого.
|
||
|
||
## Важное ограничение
|
||
|
||
Если для баланса сияния потребуется новый формат блокчейн-блока или изменение существующего формата, перед реализацией нужно отдельно предупредить пользователя и получить явное подтверждение на изменение формата блокчейна.
|
||
|
||
Если потребуется новый серверный API или изменение существующих `op`, перед реализацией нужно отдельно предупредить пользователя и получить явное подтверждение на изменение API.
|
||
|
||
## Документы, которые обновить при реализации
|
||
|
||
- `Dev_Docs/Blockchain/`, если появятся или изменятся блоки баланса.
|
||
- `Dev_Docs/Blockchain/CHANGELOG.md`, если меняется блокчейн-формат.
|
||
- `Dev_Docs/API/`, если меняется серверный API.
|
||
- `Dev_Docs/Pending_Features/` - добавить файл ручной проверки после реализации.
|
||
- Документацию Solana-регистрации, если баланс будет связан с Solana-модулем.
|
||
|
||
## Минимальная проверка в будущем
|
||
|
||
1. Новый пользователь видит корректный начальный баланс.
|
||
2. Пополнение создаёт правильную операцию.
|
||
3. Баланс обновляется после подтверждения.
|
||
4. После перезагрузки UI баланс остаётся корректным.
|
||
5. Ошибочные или повторные операции не начисляют баланс дважды.
|