I want a relay implementation that fully supports #outbox so I don't have to code it in the client.
Clients connect to these single swappable proxies assuming the tradeoff: increased bandwidth/battery efficiency and a push toward more decentralization via outbox, at the cost of increased trust in the operator.
At this point Nostr suffers more from bad user experience than potential censorship, which would be short lived anyway. Tradeoff makes sense to me.
Does this exist or it needs to be created? Would an additional spec be required?
#asknostr #devstr
Login to reply
Replies (11)
nostr:npub12262qa4uhw7u8gdwlgmntqtv7aye8vdcmvszkqwgs0zchel6mz7s6cgrkj nostr:npub176p7sup477k5738qhxx0hk2n0cty2k5je5uvalzvkvwmw4tltmeqw7vgup
Maybe this??
https://github.com/Letdown2491/haven-kit/tree/main
That looks like a personal relay
this is inevitable, we could also have a relay feed with personal instruction scanning nostr for things of our personal interest, ie personalized nostr algorythm
nostr is about self hosting, starting from this predicat fixes many of the current nostr issues
nostr:nevent1qqsz4rn545le7r5lp0q93zwnvr0rmde7cdvyuep8rlwhqrc8t53hmkqzf67t9
you could use an additional parameter in a req frame for this proxy relay.
instead of just having [reqid, request], you would have [relayurl,reqid,request]
the relay proxy manage connections for you and your client can drop the same logic (almost) but connect to just one relay.
response should also have the relayurl, so the client can tell which relay connected correctly. needs auth etc.
the problem for this approach is the too many concurrent req error. if your proxy serve too many concurrent user at the same time.
this is fine if each user use their own proxy, ie self host.
I am working on something like this for Nostr.land. I am planning to release a spec that should be relatively easy to use.
I could offer it as a service that is public (or as a private service for your specific application) but I would need some funding for the hosting of that.
It's an interesting idea, that you could build with the next release of rely.
You'll be able to use the OnAuth hook to load resources for a specific client after it auths with a pubkey.
So you can load or fetch events from his follows/ relay list and whatnot.
nostr:nevent1qqsdkdj2eumhw8ws3jz820pdxxxu9gk88y6t8338lfwu3whjeaxu74cpr4mhxue69uhkummnw3ezucnfw33k76twv4ezuum0vd5kzmp0qgsza748zkamgmw4he4hm2xhwqpxd5gkwju38wqh3twmtshx8kv8xvgrqsqqqqqpd3rvgs
Haven is definitely a personal relay, and Haven Kit is a nice GUI for configuring it, built to be easy for anyone to run on an Umbrel. Very cool project, but definitely not what you are talking about.
That said, I wouldn't mind seeing what you are talking about get added to Haven, as it would make the relay about the only thing each user should run for themselves. Haven is already effectively four relays in one, plus a Blossom server. Add the ability for the public inbox relay to pull in all notes from the owner's follow's relays, and it starts acting more like what you are looking for.
Maybe that is better left to a separate relay implementation, rather than bundling it in with Haven? I don't know.
You probably want something a bit more sophisticated than just, "Fetch all notes from the owner's follows, using their published outbox relays to find them," though. Something which can more dynamically fetch notes depending on what user is making the request, if I am understanding correctly. I think something like that would be better done as a caching relay, similar to what Primal has done, rather than as a relay that actively fetches notes from other relays upon request.
Looking forward