Add concrete implementation plan for Nostr-native ATM
Phased roadmap with code examples: Phase 0: Foundation - Monorepo structure (Turborepo + pnpm) - devenv.nix for reproducible dev environment - Lightning.Pub local setup - Private strfry relay Phase 1: Core Infrastructure - @lamassu/nostr-client package - Machine identity (nsec/npub generation) - Relay connection with NIP-42 - @lamassu/clink package for CLINK offers Phase 2: Machine Shell - Tauri 2.x + Vue 3 application - XState v5 state machine (full ATM logic) - Nostr composable for Vue - QR display, screen navigation Phase 3: Hardware Abstraction Layer - Rust HAL crate with napi-rs bindings - BillValidator trait + NV200 implementation - BillDispenser trait + Puloon implementation - Mock drivers for development Phase 4: Payment Flows - Lightning.Pub client integration - Cash-in: CLINK offers -> invoice -> payment - Cash-out: Invoice -> payment -> dispense - NIP-17 encrypted receipts - Cashu offline mode Phase 5: Operator Tools - Vue 3 dashboard - Real-time machine monitoring via Nostr - Transaction history - Remote command sending Includes: - Complete XState machine definition - Rust HAL trait definitions - TypeScript/Vue code examples - Testing strategy - Dev hardware recommendations (~$535-735) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
af358bf158
commit
b80f174b08
1 changed files with 1617 additions and 0 deletions
1617
docs/implementation-plan.md
Normal file
1617
docs/implementation-plan.md
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue