Introduction
The nostr-rs-relay is written in Rust, and at the time of writing it supports most of the relay protocol. The relay data is persisted using SQLite, and there is experimental support for PostgreSQL.
The repository is available on sourcehut, and is mirrored on GitHub.
Features
NIPs with a relay-specific implementation are listed here.
-
[x] NIP-01: Basic protocol flow description
-
Core event model
- Hide old metadata events
-
Id/Author prefix search
-
[x] NIP-02: Follow List
-
[ ] NIP-03: OpenTimestamps Attestations for Events
-
[x] NIP-05: Mapping Nostr keys to DNS-based internet identifiers
-
[x] NIP-09: Event Deletion Request
-
[x] NIP-11: Relay Information Document
-
[x] NIP-12: Generic Tag Queries
-
[x] NIP-15: Nostr Marketplace
-
[x] NIP-16: Event Treatment
-
[x] NIP-20: Command Results
-
[x] NIP-22: Event
created_at
limits (future-dated events only) -
[ ] NIP-26: Delegated Event Signing (implemented, but currently disabled)
-
[x] NIP-28: Public Chat
-
[x] NIP-33: Parameterized Replaceable Events
-
[x] NIP-40: Expiration Timestamp
-
[x] NIP-42: Authentication of clients to relays