nostr-relay Features
- Stores data in SQLite or Postgresql – using sqlalchemy – or in lmdb. See storage
- Written in Python, using asyncio
- Scalable to thousands of concurrent clients
- Configurable "origin" blacklist
- Configurable garbage collector
- Configurable event validators
- Can serve as a NIP-05 identity provider
- Support for NIP-42 authentication
- Support for rate-limiting
- Support for the following NIPs:
- NIP-01 – basic protocol
- NIP-02 – contact lists
- NIP-05 – verifying identity
- NIP-09 – deletion events
- NIP-11 – relay metadata
- NIP-12 – generic tags
- NIP-15 – EOSE
- NIP-20 – command results
- NIP-26 – delegated events
- NIP-33 – parameterized replaceable events
- NIP-40 – expiration events
- NIP-42 – authentication
- NIP-50 – full-text search