docs: add desktop wallet README and update main docs for v0.1.1
Some checks failed
CI / Check (ubuntu-latest) (push) Failing after 2s
CI / Test (ubuntu-latest) (push) Failing after 2s
Security Audit / Vulnerability Scan (push) Failing after 2s
Security Audit / License & Security Policy (push) Failing after 2s
Security Audit / Static Analysis (Clippy) (push) Failing after 2s
Security Audit / Secret Detection (push) Failing after 2s
Security Audit / Check Outdated Dependencies (push) Failing after 2s
Security Audit / Unsafe Code Audit (push) Failing after 2s
Security Audit / Property-Based Testing (push) Failing after 2s
Security Audit / WASM Module Security (push) Failing after 2s
CI / Check (macos-latest) (push) Has been cancelled
CI / Test (macos-latest) (push) Has been cancelled
CI / Build (ubuntu-latest) (push) Has been cancelled
CI / Build (macos-latest) (push) Has been cancelled
CI / Benchmarks (push) Has been cancelled
CI / CI Success (push) Has been cancelled
Some checks failed
CI / Check (ubuntu-latest) (push) Failing after 2s
CI / Test (ubuntu-latest) (push) Failing after 2s
Security Audit / Vulnerability Scan (push) Failing after 2s
Security Audit / License & Security Policy (push) Failing after 2s
Security Audit / Static Analysis (Clippy) (push) Failing after 2s
Security Audit / Secret Detection (push) Failing after 2s
Security Audit / Check Outdated Dependencies (push) Failing after 2s
Security Audit / Unsafe Code Audit (push) Failing after 2s
Security Audit / Property-Based Testing (push) Failing after 2s
Security Audit / WASM Module Security (push) Failing after 2s
CI / Check (macos-latest) (push) Has been cancelled
CI / Test (macos-latest) (push) Has been cancelled
CI / Build (ubuntu-latest) (push) Has been cancelled
CI / Build (macos-latest) (push) Has been cancelled
CI / Benchmarks (push) Has been cancelled
CI / CI Success (push) Has been cancelled
- Create comprehensive README for desktop-wallet with features, installation, development guide, project structure, and changelog - Update main README with v0.1.1 version references - Add link to desktop wallet README from main docs - Document QR code feature, browser preview mode, and bug fixes
This commit is contained in:
parent
e572578c8c
commit
563bfa3909
2 changed files with 251 additions and 6 deletions
14
README.md
14
README.md
|
|
@ -11,20 +11,22 @@ Quantum-secure decentralized cloud computing platform built on DAG-based consens
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
### Desktop Wallet
|
### Desktop Wallet (v0.1.1)
|
||||||
|
|
||||||
Download the latest release for your platform:
|
Download the latest release for your platform:
|
||||||
|
|
||||||
| Platform | Download | Notes |
|
| Platform | Download | Notes |
|
||||||
|----------|----------|-------|
|
|----------|----------|-------|
|
||||||
| **macOS (Apple Silicon)** | `Synor-Wallet_x.x.x_aarch64.dmg` | Drag to Applications |
|
| **macOS (Apple Silicon)** | `Synor-Wallet_0.1.1_aarch64.dmg` | Drag to Applications |
|
||||||
| **macOS (Intel)** | `Synor-Wallet_x.x.x_x64.dmg` | Drag to Applications |
|
| **macOS (Intel)** | `Synor-Wallet_0.1.1_x64.dmg` | Drag to Applications |
|
||||||
| **Windows** | `Synor-Wallet_x.x.x_x64_en-US.msi` | Run installer (recommended) |
|
| **Windows** | `Synor-Wallet_0.1.1_x64_en-US.msi` | Run installer (recommended) |
|
||||||
| **Windows (portable)** | `Synor-Wallet_x.x.x_x64-setup.exe` | Alternative installer |
|
| **Windows (portable)** | `Synor-Wallet_0.1.1_x64-setup.exe` | Alternative installer |
|
||||||
| **Linux** | `Synor-Wallet_x.x.x_amd64.AppImage` | `chmod +x && ./` |
|
| **Linux** | `Synor-Wallet_0.1.1_amd64.AppImage` | `chmod +x && ./` |
|
||||||
|
|
||||||
**First launch on macOS**: Right-click → Open (to bypass Gatekeeper if not code-signed)
|
**First launch on macOS**: Right-click → Open (to bypass Gatekeeper if not code-signed)
|
||||||
|
|
||||||
|
See [Desktop Wallet README](apps/desktop-wallet/README.md) for detailed features and development guide.
|
||||||
|
|
||||||
### Node Daemon (synord)
|
### Node Daemon (synord)
|
||||||
|
|
||||||
Download pre-built binaries:
|
Download pre-built binaries:
|
||||||
|
|
|
||||||
243
apps/desktop-wallet/README.md
Normal file
243
apps/desktop-wallet/README.md
Normal file
|
|
@ -0,0 +1,243 @@
|
||||||
|
# Synor Desktop Wallet
|
||||||
|
|
||||||
|
A secure desktop wallet for the Synor blockchain network with post-quantum cryptography support (Dilithium3).
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
- **24-word BIP39 Mnemonic**: Industry-standard seed phrase generation
|
||||||
|
- **Post-Quantum Signatures**: Dilithium3 (NIST FIPS 204) for future-proof security
|
||||||
|
- **QR Code Generation**: Easily share receive addresses with scannable QR codes
|
||||||
|
- **OS Keychain Integration**: Secure storage via macOS Keychain, Windows Credential Manager, or Linux Secret Service
|
||||||
|
- **System Tray**: Minimize to tray for background operation
|
||||||
|
- **Auto-Updates**: Built-in updater for seamless version upgrades (when code-signed)
|
||||||
|
- **Multiple Addresses**: Generate and manage multiple receiving addresses
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
### Download Pre-built Binaries
|
||||||
|
|
||||||
|
Download the latest release from [GitHub Releases](https://github.com/g1-technologies/synor/releases):
|
||||||
|
|
||||||
|
| Platform | File | Notes |
|
||||||
|
|----------|------|-------|
|
||||||
|
| **macOS (Apple Silicon)** | `Synor-Wallet_x.x.x_aarch64.dmg` | M1/M2/M3 Macs |
|
||||||
|
| **macOS (Intel)** | `Synor-Wallet_x.x.x_x64.dmg` | Intel Macs |
|
||||||
|
| **Windows** | `Synor-Wallet_x.x.x_x64_en-US.msi` | Recommended installer |
|
||||||
|
| **Windows (portable)** | `Synor-Wallet_x.x.x_x64-setup.exe` | Alternative installer |
|
||||||
|
| **Linux** | `Synor-Wallet_x.x.x_amd64.AppImage` | Universal Linux |
|
||||||
|
|
||||||
|
### macOS First Launch
|
||||||
|
|
||||||
|
If the app is not code-signed, macOS Gatekeeper will block it. To bypass:
|
||||||
|
1. Right-click the app → Open
|
||||||
|
2. Click "Open" in the dialog
|
||||||
|
|
||||||
|
Or run from terminal:
|
||||||
|
```bash
|
||||||
|
xattr -cr /Applications/Synor\ Wallet.app
|
||||||
|
```
|
||||||
|
|
||||||
|
## Development
|
||||||
|
|
||||||
|
### Prerequisites
|
||||||
|
|
||||||
|
- **Node.js 20+**
|
||||||
|
- **pnpm** (`npm install -g pnpm`)
|
||||||
|
- **Rust 1.75+** (`curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh`)
|
||||||
|
- **Tauri CLI** (`cargo install tauri-cli`)
|
||||||
|
|
||||||
|
**macOS additional:**
|
||||||
|
```bash
|
||||||
|
brew install rocksdb
|
||||||
|
```
|
||||||
|
|
||||||
|
**Linux additional:**
|
||||||
|
```bash
|
||||||
|
sudo apt-get install -y \
|
||||||
|
libgtk-3-dev \
|
||||||
|
libwebkit2gtk-4.1-dev \
|
||||||
|
libsoup-3.0-dev \
|
||||||
|
libjavascriptcoregtk-4.1-dev \
|
||||||
|
libappindicator3-dev \
|
||||||
|
librsvg2-dev \
|
||||||
|
patchelf \
|
||||||
|
libclang-dev \
|
||||||
|
llvm-dev
|
||||||
|
```
|
||||||
|
|
||||||
|
### Development Mode
|
||||||
|
|
||||||
|
#### Full Development (with Rust backend)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd apps/desktop-wallet
|
||||||
|
pnpm install
|
||||||
|
pnpm tauri:dev
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Browser Preview Mode (UI only)
|
||||||
|
|
||||||
|
For rapid UI development without compiling Rust:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd apps/desktop-wallet
|
||||||
|
pnpm install
|
||||||
|
pnpm dev
|
||||||
|
```
|
||||||
|
|
||||||
|
Then open http://localhost:1420 in your browser.
|
||||||
|
|
||||||
|
> **Note**: Browser preview mode uses mock data. Wallet operations (create, import, sign) are simulated.
|
||||||
|
|
||||||
|
### Build for Production
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd apps/desktop-wallet
|
||||||
|
pnpm install
|
||||||
|
pnpm tauri:build
|
||||||
|
```
|
||||||
|
|
||||||
|
Output locations:
|
||||||
|
- **macOS**: `src-tauri/target/release/bundle/dmg/`
|
||||||
|
- **Windows**: `src-tauri/target/release/bundle/msi/`
|
||||||
|
- **Linux**: `src-tauri/target/release/bundle/appimage/`
|
||||||
|
|
||||||
|
### Docker Development
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd apps/desktop-wallet
|
||||||
|
docker-compose -f docker-compose.dev.yml up
|
||||||
|
```
|
||||||
|
|
||||||
|
Runs frontend at http://localhost:19420
|
||||||
|
|
||||||
|
### Testing
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Run Playwright E2E tests
|
||||||
|
pnpm test
|
||||||
|
|
||||||
|
# Run with UI
|
||||||
|
pnpm test:ui
|
||||||
|
|
||||||
|
# Run headed (visible browser)
|
||||||
|
pnpm test:headed
|
||||||
|
```
|
||||||
|
|
||||||
|
## Project Structure
|
||||||
|
|
||||||
|
```
|
||||||
|
apps/desktop-wallet/
|
||||||
|
├── src/ # React frontend
|
||||||
|
│ ├── components/ # Reusable UI components
|
||||||
|
│ ├── pages/ # Route pages
|
||||||
|
│ │ ├── Welcome.tsx # Create/import wallet
|
||||||
|
│ │ ├── Dashboard.tsx # Balance overview
|
||||||
|
│ │ ├── Send.tsx # Send transactions
|
||||||
|
│ │ ├── Receive.tsx # Receive with QR codes
|
||||||
|
│ │ ├── Transactions.tsx # Transaction history
|
||||||
|
│ │ └── Settings.tsx # App settings
|
||||||
|
│ ├── store/ # Zustand state management
|
||||||
|
│ │ ├── wallet.ts # Wallet state
|
||||||
|
│ │ ├── node.ts # Node connection state
|
||||||
|
│ │ └── mining.ts # Mining state
|
||||||
|
│ ├── lib/ # Utilities
|
||||||
|
│ │ └── tauri.ts # Tauri invoke wrapper
|
||||||
|
│ └── App.tsx # Route definitions
|
||||||
|
├── src-tauri/ # Rust backend
|
||||||
|
│ ├── src/
|
||||||
|
│ │ ├── commands.rs # Tauri command handlers
|
||||||
|
│ │ ├── keychain.rs # OS keychain integration
|
||||||
|
│ │ ├── crypto.rs # Cryptographic operations
|
||||||
|
│ │ └── lib.rs # Main library
|
||||||
|
│ ├── Cargo.toml # Rust dependencies
|
||||||
|
│ ├── tauri.conf.json # Tauri configuration
|
||||||
|
│ └── icons/ # App icons
|
||||||
|
├── e2e/ # Playwright E2E tests
|
||||||
|
├── playwright.config.ts # Test configuration
|
||||||
|
└── package.json # Node.js dependencies
|
||||||
|
```
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
### Tauri Configuration
|
||||||
|
|
||||||
|
Edit `src-tauri/tauri.conf.json`:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"app": {
|
||||||
|
"windows": [{
|
||||||
|
"title": "Synor Wallet",
|
||||||
|
"width": 1024,
|
||||||
|
"height": 768,
|
||||||
|
"minWidth": 800,
|
||||||
|
"minHeight": 600
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
"plugins": {
|
||||||
|
"updater": {
|
||||||
|
"endpoints": ["https://releases.synor.io/wallet/{{target}}/{{arch}}/{{current_version}}"]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Security
|
||||||
|
|
||||||
|
The Content Security Policy (CSP) is configured to:
|
||||||
|
- Allow connections to `*.synor.io` and localhost
|
||||||
|
- Block inline scripts (except WASM)
|
||||||
|
- Prevent embedding in iframes
|
||||||
|
|
||||||
|
## Embedded Node (Optional)
|
||||||
|
|
||||||
|
The wallet can optionally include a full node for decentralized operation:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Build with embedded node support
|
||||||
|
cargo build --release --features embedded-node
|
||||||
|
```
|
||||||
|
|
||||||
|
This enables:
|
||||||
|
- Running a full node inside the wallet
|
||||||
|
- Mining directly from the wallet
|
||||||
|
- No external RPC dependency
|
||||||
|
|
||||||
|
## Changelog
|
||||||
|
|
||||||
|
### v0.1.1 (2026-02-02)
|
||||||
|
|
||||||
|
**New Features:**
|
||||||
|
- QR code generation on Receive page for easy address sharing
|
||||||
|
- Improved navigation flow on unlock screen
|
||||||
|
|
||||||
|
**Bug Fixes:**
|
||||||
|
- Fixed app crash on macOS after installation (Tauri 2.0 plugin configuration)
|
||||||
|
- Fixed icon bit depth compatibility issue (16-bit to 8-bit RGBA)
|
||||||
|
- Removed deprecated plugin scope configurations
|
||||||
|
|
||||||
|
**Technical:**
|
||||||
|
- Updated to Tauri 2.0 stable plugin APIs
|
||||||
|
- Added missing Rust dependencies (`once_cell`, `md5`)
|
||||||
|
- Removed duplicate imports in commands.rs
|
||||||
|
|
||||||
|
### v0.1.0 (Initial Release)
|
||||||
|
|
||||||
|
- Basic wallet creation and import
|
||||||
|
- Send/receive SYN tokens
|
||||||
|
- Transaction history
|
||||||
|
- Multiple address support
|
||||||
|
- OS keychain integration
|
||||||
|
- System tray support
|
||||||
|
|
||||||
|
## Security Notes
|
||||||
|
|
||||||
|
- **Seed phrases** are encrypted with Argon2id and stored in OS keychain
|
||||||
|
- **Private keys** are derived using BIP32 HD wallet standard
|
||||||
|
- **Transactions** are signed locally; private keys never leave the device
|
||||||
|
- **Post-quantum signatures** use Dilithium3 (NIST FIPS 204)
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
MIT OR Apache-2.0
|
||||||
Loading…
Add table
Reference in a new issue