SHA256
Wallet-session pairing и browser plugin wallet, оплаты пока не работают
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
# SHiNE Browser Plugin Wallet
|
||||
|
||||
Chrome-compatible Manifest V3 plugin for SHiNE wallet-session login.
|
||||
|
||||
## Что уже умеет
|
||||
|
||||
- создать `wallet-session` через `StartEspPairing`;
|
||||
- показать код подключения;
|
||||
- дождаться подтверждения на доверенном устройстве;
|
||||
- принять `session-only` payload без передачи `deviceKey/rootKey/blockchainKey`;
|
||||
- сохранить `sessionPriv/sessionKey/sessionId` в локальном хранилище plugin;
|
||||
- восстанавливать session через `SessionChallenge -> SessionLogin`;
|
||||
- держать wallet-state в `background service worker`, а popup использовать как UI.
|
||||
|
||||
## Как загрузить локально
|
||||
|
||||
1. Открой `chrome://extensions/`
|
||||
2. Включи `Developer mode`
|
||||
3. Нажми `Load unpacked`
|
||||
4. Выбери папку `SHiNE-browser-plugin-wallet/`
|
||||
|
||||
## Ограничения текущего этапа
|
||||
|
||||
- plugin пока не держит постоянный фоновый WS-канал после закрытия popup, но хранит wallet-state в `background`;
|
||||
- на этом этапе реализован только `session-only login`;
|
||||
- запросы на подпись будут следующим этапом.
|
||||
- pairing-пароль, если он используется, должен генерироваться в формате `sha256$<hex>` от строки `shine-pairing|loginLower|password`.
|
||||
|
||||
## Сборка crypto bundle
|
||||
|
||||
Для обычной загрузки plugin это не нужно: bundled crypto-файл уже лежит в репозитории.
|
||||
|
||||
Если понадобится пересобрать локальный crypto bundle:
|
||||
|
||||
```bash
|
||||
npm install
|
||||
npx esbuild js/lib/vendor/noble-ed25519-entry.js --bundle --format=esm --platform=browser --outfile=js/lib/vendor/noble-ed25519-bundle.js
|
||||
```
|
||||
Reference in New Issue
Block a user