synor/docs/PLAN/PHASE7-ProductionReadiness/01-Milestone-03-Ecosystem.md
Gulshan Yadav 3041c6d654 feat(crypto-wasm): add deterministic Dilithium3 key derivation and hybrid signatures
This commit enables full wallet recovery from BIP-39 mnemonics by implementing
deterministic Dilithium3 key derivation using HKDF-SHA3-256 with domain separation.

Changes:
- crates/synor-crypto-wasm: Implement deterministic Dilithium keygen
  - Use HKDF with info="synor:dilithium:v1" for key derivation
  - Enable pqc_dilithium's crypto_sign_keypair via dilithium_kat cfg flag
  - Add proper memory zeroization on drop
  - Add tests for deterministic key generation

- apps/web: Update transaction signing for hybrid signatures
  - Add signTransactionHybrid() for Ed25519 + Dilithium3 signatures
  - Add createSendTransactionHybrid() for quantum-resistant transactions
  - Update fee estimation for larger hybrid signature size (~5.5KB/input)
  - Maintain legacy Ed25519-only functions for backwards compatibility

- WASM module: Rebuild with deterministic keygen
  - Update synor_crypto_bg.wasm with new implementation
  - Module size reduced to ~470KB (optimized)

- Documentation updates:
  - Update mobile wallet plan: React Native -> Flutter
  - Add testnet-first approach note
  - Update explorer frontend progress to 90%
2026-01-10 05:34:26 +05:30

234 lines
5.2 KiB
Markdown

# Phase 7, Milestone 3: Ecosystem
> Build ecosystem applications and integrations
**Status**: 🔄 In Progress
**Priority**: Medium
**Components**: Web wallet, Explorer, Documentation
---
## Overview
Develop ecosystem applications including wallet applications, block explorer frontend, API providers, and exchange integrations to support mainnet adoption.
---
## Tasks
### Task 3.1: Web Wallet
- [x] React + TypeScript foundation
- [x] BIP39 mnemonic support
- [x] Ed25519 signing (client-side)
- [x] AES-256-GCM encrypted storage
- [x] Transaction building/signing
- [x] JSON-RPC client
- [x] Zustand state management
- [ ] Dilithium3 WASM module
- [ ] QR code generation
- [ ] Hardware wallet support
- [ ] Multi-language support
**Files:**
- `apps/web/` (Complete foundation)
**Status:** 70% Complete
**Validation:**
```bash
cd apps/web
npm install
npm run dev
npm run test
npm run build
```
### Task 3.2: Desktop Wallet
- [x] Tauri framework setup
- [x] Native file system access
- [x] BIP39 mnemonic generation
- [x] Argon2id + ChaCha20-Poly1305 encryption
- [x] Secure state management (auto-clear)
- [ ] System tray integration
- [ ] Auto-updates
- [ ] OS keychain integration
- [ ] Hardware wallet support
**Files:**
- `apps/desktop-wallet/` (Implemented)
**Status:** 80% Complete
**Tech Stack:**
- Tauri 2.0 (Rust + React)
- React + TypeScript + Tailwind CSS
- Native Rust crypto (bip39, argon2, chacha20poly1305)
- Zustand for state management
### Task 3.3: Mobile Wallet
- [ ] Flutter setup (cross-platform)
- [ ] Biometric authentication (Face ID / Fingerprint)
- [ ] Push notifications
- [ ] Deep linking
- [ ] App store deployment (iOS + Android)
**Files:**
- `apps/mobile-wallet/` (Planned)
**Status:** Not Started
**Tech Stack:**
- Flutter (Dart) for cross-platform native performance
- flutter_secure_storage for encrypted keychain
- Dilithium3 via FFI bindings to Rust
**Platforms:**
- iOS (App Store)
- Android (Play Store)
### Task 3.4: Block Explorer Frontend
- [x] Backend API (apps/explorer)
- [ ] React frontend
- [ ] Real-time updates (WebSocket)
- [ ] DAG visualization
- [ ] Address tracking
- [ ] Transaction search
**Files:**
- `apps/explorer-web/` (Planned)
**Status:** Backend 100%, Frontend 0%
**Features:**
| Feature | Priority | Status |
|---------|----------|--------|
| Block view | High | Pending |
| TX view | High | Pending |
| Address view | High | Pending |
| DAG viz | Medium | Pending |
| Search | High | Pending |
| Stats | Medium | Pending |
### Task 3.5: Developer Documentation
- [x] DEVELOPER_GUIDE.md
- [x] Host functions documentation
- [x] API reference (rustdoc)
- [ ] Tutorial series
- [ ] Video walkthroughs
- [ ] Example applications
**Files:**
- `docs/DEVELOPER_GUIDE.md`
- `contracts/HOST_FUNCTIONS.md`
**Status:** 60% Complete
### Task 3.6: API Providers
- [ ] Public RPC endpoints
- [ ] Rate limiting tiers
- [ ] API key management
- [ ] Usage analytics
- [ ] SLA documentation
**Planned Endpoints:**
| Tier | Rate Limit | Price |
|------|------------|-------|
| Free | 100 req/min | $0 |
| Developer | 1000 req/min | $49/mo |
| Enterprise | Unlimited | Custom |
### Task 3.7: Exchange Integrations
- [ ] Integration documentation
- [ ] Deposit/withdrawal APIs
- [ ] Confirmation requirements
- [ ] Test environment
- [ ] Listing applications
**Requirements for Exchanges:**
- 100 confirmations for deposits
- Hybrid signature support
- UTXO-based transaction model
- JSON-RPC API access
---
## Validation
### Validation Commands
```bash
# Web wallet
cd apps/web
npm test
npm run lint
npm run build
# Documentation
mdbook build docs/
# API testing
./scripts/test-public-api.sh
```
### Validation Agents
| Agent | Purpose |
|-------|---------|
| `code-reviewer` | Review wallet code |
| `frontend-design` | UI/UX review |
| `pr-test-analyzer` | Test coverage |
### Security Checklist
**Web Wallet:**
- [ ] CSP headers configured
- [ ] No XSS vulnerabilities
- [ ] Secure cookie settings
- [ ] HTTPS enforced
- [ ] Private key never transmitted
**API:**
- [ ] Rate limiting active
- [ ] Input validation
- [ ] Error messages safe
- [ ] Logging sanitized
---
## Progress Summary
| Component | Progress | Status |
|-----------|----------|--------|
| Web Wallet | 70% | Foundation complete, needs Dilithium3 WASM |
| Desktop Wallet | 80% | Tauri + security implemented |
| Mobile Wallet | 0% | Planned (Flutter) |
| Explorer Frontend | 90% | Home, Blocks, TX, Address, DAG, Network, Gas pages complete |
| Documentation | 60% | Guides complete |
| API Providers | 0% | Planned |
| Exchange Integration | 0% | Planned |
> **Note:** TESTNET deployment will be maintained until the entire ecosystem is developed, tested, and validated. MAINNET launch will only proceed after full ecosystem completion and satisfactory testnet performance.
---
## Next Steps
1. **Immediate:** Complete web wallet Dilithium3 WASM
2. **Short-term:** Mobile wallet (Flutter)
3. **Medium-term:** synor.cc website
4. **Long-term:** Exchange listings and API providers
---
## Acceptance Criteria
1. Web wallet fully functional
2. Explorer frontend live
3. Documentation complete
4. At least one API provider
5. Exchange integration documentation ready
---
*Started: January 2026*
*Target: Q3 2026*