/snort

Nostr UI

Primary LanguageTypeScriptGNU General Public License v3.0GPL-3.0

Snort

Snort is a nostr UI built with React aiming for speed and efficiency.

Snort supports the following NIP's:

  • NIP-01: Basic protocol flow description
  • NIP-02: Contact List and Petnames (No petname support)
  • NIP-03: OpenTimestamps Attestations for Events
  • NIP-04: Encrypted Direct Message
  • NIP-05: Mapping Nostr keys to DNS-based internet identifiers
  • NIP-06: Basic key derivation from mnemonic seed phrase
  • NIP-07: window.nostr capability for web browsers
  • NIP-08: Handling Mentions
  • NIP-09: Event Deletion
  • NIP-10: Conventions for clients' use of e and p tags in text events
  • NIP-11: Relay Information Document
  • NIP-12: Generic Tag Queries
  • NIP-13: Proof of Work
  • NIP-14: Subject tag in text events
  • NIP-15: End of Stored Events Notice
  • NIP-19: bech32-encoded entities
  • NIP-20: Command Results
  • NIP-21: nostr: Protocol handler (web+nostr)
  • NIP-25: Reactions
  • NIP-26: Delegated Event Signing (Display delegated signings only)
  • NIP-28: Public Chat
  • NIP-36: Sensitive Content
  • NIP-40: Expiration Timestamp
  • NIP-42: Authentication of clients to relays
  • NIP-50: Search
  • NIP-51: Lists
  • NIP-65: Relay List Metadata

Running

This repository is a yarn workspace. To install dependencies, run yarn from the project root.

To run the application, use

$ yarn start

To build the application and nostr package, use

$ yarn build

Translations

Crowdin

Translations are managed on Crowdin

To extract translations run:

yarn workspace @snort/app intl-extract
yarn workspace @snort/app intl-compile

This will create the source file packages/app/src/translations/en.json