ETL to QE, Update 74, Defining What I Want From My Nostr Relay
Date: 2025-04-30
TLDR; Issues I have with existing Nostr Relays * No easy tooling to track disparities between which relays are hosting my notes, when, and for how long * RBAC always seems over complicated * I have yet to find a simple NIP-29 implementation * I can't manage my Nostr relay purely based Nostr events * The capacity to run RBAC based on HTTP Paths * Shared Google Doc Style Use Case * A Medium to do Analytics derived from Nostr Data * Replies are usually broadcasted into the void * Nostr Metadata is not fetched when people interact with a relay, for example someone publishing to your relay should lead to a scan and mirroring of their Nostr Kind 0(Nostr Profile) and NIP-65(Relay Metadata) Events * Relay's don't have Data Integrity Checks for * Threads * Lists * Followers * See The Activity Pub Federation Problem * The Dream of Going Offline for Days and being able to continuously view feeds via downloaded Nostr Events * The Nostr Algotainment Feed Problem * Nostr Embeddings Search using NKBIP-02 * Blossom Content Mirroring
After Months of being obsessed with Nostr, running multiple Nostr meetups, and becoming known as the Nostr guy among my Nerd Friends I finally have something tangible to show off, my own Nostr Relay in all its glory. But why was this even a Goal when there are so many great Nostr Relay Implementations out there already, even some Nostr Relay Frameworks such as nostr-relay npm and khatru. Plus all the existing relays are pretty forkable.
Event Data Disparity and Availability
The biggest problem I have with existing Nostr relays is Data Availability Guarantees. Which relays are currently hosting which of my notes and when? I want a relay that is self aware of the Notes I share and rebroadcasts/deletes them when appropriate.
If you have a tool that can scrape Nostr relays for Events tracking which relay has which events all you need to do is throw a little websocket proxy in front of the database and you got yourself a Nostr Relay.
Replies Broadcast Into the Void
Did I need a Custom Nostr Relay?
No not really, but the problems outlined in this Article are more complicated than developing a Nostr relay.... which btw I did in under 300 lines including real time subscriptions and NIP-50 search.