Spese condivise su Nostr. Pagamenti in Bitcoin. Zero server.
- Auth — Nostr NIP-07 (Alby / nos2x)
- Dati — Relay Nostr pubblici (kind:9000, kind:30001)
- Pagamenti — Bitcoin Lightning via WebLN + LNURL-pay
- Frontend — React + Vite
- State — Zustand + localStorage (cache)
npm install
npm run devApri http://localhost:5173 con l'estensione Alby installata.
npm run build
vercel --prodOppure connetti il repo su vercel.com → deploy automatico ad ogni push.
src/
├── App.jsx # Root + routing
├── store/index.js # Zustand store (auth, groups, expenses)
├── lib/
│ ├── nostr.js # RelayPool, publishEvent, fetch helpers
│ ├── lightning.js # WebLN, LNURL-pay
│ ├── balances.js # Calcolo e semplificazione debiti
│ ├── storage.js # localStorage cache
│ └── constants.js # Relay list, event kinds
├── views/ # Schermate principali
└── components/ # UI primitives + modals
| Kind | Uso |
|---|---|
| 0 | Profilo utente (NIP-01) |
| 9000 | Spesa |
| 9001 | Pagamento / settlement |
| 30001 | Definizione gruppo |