synor/apps/web
Gulshan Yadav a439389943 feat(web-wallet): add QR code generation and scanning support
- Add QRCode component using qrcode.react (SVG-based, H error correction)
- Add QRScanner component using html5-qrcode for camera-based scanning
- Update Receive page with real QR code and payment request amount
- Update Send page with QR scan button to auto-fill recipient address
- Support Synor payment URI format: synor:address?amount=X
- Add Dockerfile for web wallet with nginx serving
- Add web-wallet service to docker-compose.testnet.yml (port 17300)
- Fix TypeScript WebCrypto ArrayBuffer type issues

QR features:
- SVG rendering for crisp display at any size
- Error correction level H (30% recovery) for printed codes
- Camera permission handling with user-friendly error states
- Auto-fill amount when scanning payment requests
2026-01-10 05:53:34 +05:30
..
public Initial commit: Synor blockchain monorepo 2026-01-08 05:22:17 +05:30
src feat(web-wallet): add QR code generation and scanning support 2026-01-10 05:53:34 +05:30
.gitignore Initial commit: Synor blockchain monorepo 2026-01-08 05:22:17 +05:30
Dockerfile feat(web-wallet): add QR code generation and scanning support 2026-01-10 05:53:34 +05:30
index.html Initial commit: Synor blockchain monorepo 2026-01-08 05:22:17 +05:30
package.json feat(web-wallet): add QR code generation and scanning support 2026-01-10 05:53:34 +05:30
postcss.config.js Initial commit: Synor blockchain monorepo 2026-01-08 05:22:17 +05:30
README.md Initial commit: Synor blockchain monorepo 2026-01-08 05:22:17 +05:30
tailwind.config.js Initial commit: Synor blockchain monorepo 2026-01-08 05:22:17 +05:30
tsconfig.json Initial commit: Synor blockchain monorepo 2026-01-08 05:22:17 +05:30
tsconfig.node.json Initial commit: Synor blockchain monorepo 2026-01-08 05:22:17 +05:30
vite.config.ts feat: Phase 7 critical tasks - security, formal verification, WASM crypto 2026-01-10 01:40:03 +05:30

Synor Web Wallet

A quantum-secure web wallet for the Synor blockchain.

Features

  • Create and recover wallets using BIP39 mnemonic phrases
  • Send and receive SYNOR tokens
  • View transaction history
  • Connect to any Synor RPC node
  • Support for mainnet, testnet, and devnet

Development

# Install dependencies
npm install

# Start development server
npm run dev

# Build for production
npm run build

# Preview production build
npm run preview

Configuration

Create a .env.local file:

VITE_RPC_ENDPOINT=http://localhost:16110

Security

  • Private keys are encrypted with AES-256-GCM using PBKDF2-derived keys
  • Seeds never leave the browser
  • No backend required - connects directly to Synor nodes

Architecture

src/
├── components/     # Reusable UI components
├── lib/            # Core libraries
│   ├── crypto.ts   # Cryptographic functions
│   ├── rpc.ts      # JSON-RPC client
│   └── transaction.ts # Transaction building
├── pages/          # Route pages
├── store/          # Zustand state management
└── App.tsx         # Main application