- Fix unused function warnings by renaming to _unusedExtractTags - Fix type errors in nostrTagSystem.ts for includes() calls - Fix type errors in reviews.ts for filter kinds array - Fix ArrayBuffer type errors in articleEncryption.ts - Remove unused imports (DecryptionKey, decryptArticleContent, extractTagsFromEvent) - All TypeScript checks now pass without disabling any controls
zapwall4Science
Plateforme de publication d'articles scientifiques et de science-fiction avec système de sponsoring, commissions et rémunération des avis. Les lecteurs peuvent lire les aperçus gratuitement et débloquer le contenu complet en payant avec Lightning Network.
Features
- NostrConnect Integration: Authenticate using NostrConnect (default: use.nsec.app)
- Free Previews: Public notes showing article previews
- Paid Content: Private notes containing full content, unlocked after 800 sats zap
- Lightning Payments: Integrated Alby/WebLN for Lightning payments (works with Alby and other Lightning wallets)
- Payment Modal: User-friendly payment interface with invoice display
- TypeScript: Fully typed codebase
Getting Started
- Install dependencies:
npm install
- Run the development server:
npm run dev
- Open http://localhost:3000 in your browser
Environment Variables
NEXT_PUBLIC_NOSTR_RELAY_URL: Nostr relay URL (default: wss://relay.damus.io)NEXT_PUBLIC_NOSTRCONNECT_BRIDGE: NostrConnect bridge URL (default: https://use.nsec.app)
Lightning Wallet Setup
This project uses the WebLN standard for Lightning payments, which works with:
- Alby (recommended): Install the Alby browser extension
- Other WebLN-compatible Lightning wallets
Users need to have a Lightning wallet extension installed to make payments. The payment flow will prompt them to connect their wallet when needed.
Project Structure
/pages: Next.js pages/components: React components/lib: Utilities and Nostr helpers/types: TypeScript type definitions/hooks: Custom React hooks
Languages
TypeScript
97.8%
Shell
1.4%
JavaScript
0.4%
CSS
0.4%