Skip to content

nayan9617/NostrX

Repository files navigation

NostrX

NostrX is a decentralized Nostr client focused on real-time relay communication, local caching, and resilient feed delivery.

Highlights

  • Multi-relay WebSocket communication with connection priority
  • Retry strategy with exponential backoff for relay reliability
  • Event deduplication to avoid repeated processing across relays
  • IndexedDB cache to warm start feed state
  • Live event stream with infinite scroll and batched updates
  • Signed publishing flow with broadcast to connected relays

Tech Stack

  • React 19
  • TypeScript
  • Vite
  • Tailwind CSS
  • nostr-tools
  • IndexedDB

Local Setup

npm install
npm run dev

Open the local URL shown by Vite (usually http://localhost:5173).

Scripts

  • npm run dev: Start development server
  • npm run build: Type-check and build production bundle
  • npm run preview: Preview production build
  • npm run lint: Run ESLint

Architecture

Security Notes

  • Private keys are used only in the browser runtime for event signing.
  • Do not use production keys for local testing.
  • Prefer burner keys while developing.

Next Improvements

  • Add relay success/ack tracking for publish confirmations
  • Add profile metadata rendering for event authors
  • Add filter controls for relay lists and event kinds

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors