I’ve started to design a universal Nostr query and publishing engine/library. Only brainstormed notes so far and a ASCII diagram, however it’s a complex problem and we need something.
One aspect I envision will be like SQL query engines/planner, where they can have cost optimisation functions and estimations.
Things like kind 10002, nip05, relay latency/health, relay hints, blacklists, paid query/relays, rate limiting, etc.
The gossip approach is great and it works, however it’s more of a ‘read my group approach’. I don’t think it has any documented publishing rules/logic - like how best to publish a DM or reaction, etc. I’m focused on your network, to the entire network ideally.
I also want it to have common queries abstracted like get notifications, get DMs, get event details/stats, etc. we likely only have 40-50 queries used commonly in apps today.
I could fail.. but I’ll share as I put parts or ideas together. Diagramming is the next major step. However I can already see how queues, channels and async rust can build a really awesome library that abstracts away as much of the complexity as possible. Maybe web assembly support.