48 lines
1.6 KiB
Markdown
48 lines
1.6 KiB
Markdown
# Nostr Paywall
|
|
|
|
A Nostr-based article platform with free previews and paid content. Users can read article previews for free and unlock full content by sending a 800 sats zap via 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
|
|
|
|
1. Install dependencies:
|
|
```bash
|
|
npm install
|
|
```
|
|
|
|
2. Run the development server:
|
|
```bash
|
|
npm run dev
|
|
```
|
|
|
|
3. Open [http://localhost:3000](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](https://getalby.com/)
|
|
- 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
|