SHA256
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. Ошибочные или повторные операции не начисляют баланс дважды.
|