Are there any really performant #nostr relay implementations that are still being developed?

I’m expecting thousands or even tens of thousands of simultaneous connections. And I really need NIP-42.

Strfry hasn’t been updated in 5 months. And it doesn’t support NIP-42.

Nostream is definitely popular, but I worry about the performance. And it doesn’t support NIP-42 either.

Maybe nostr-rs-relay?

#asknostr

Reply to this note

Please Login to reply.

Discussion

I've been working on a nip42 auth proxy for strfry (Or any relay). I tricked it out for working with the relay tools API and multiple subdomains, but it can easily work with a static auth list or something like that with some modifications. It's working pretty well so far and live as a feature for any relay.tools relays. Example at auth.nostr1.com https://github.com/relaytools/interceptor

There's also fiatjaf's khatru, natively supports nip42:

https://github.com/fiatjaf/khatru

@mleku is also working on a heavily modified khatru for performance called replicatr I think he is releasing it soonish..

yup i just fixed a heap of things in the last few days, discovered the event delete handling was stalling the websocket and put it on a goroutine, and my "blower" event pushing testing tool (reads jsonl and hammers the relay with it) can now successfully squash around 100 events per second and maxes out my 12 core ryzen 7 processor

the auth stuff i haven't done much since some early work and i have a DM interface partly built for administration and intend to eventually add a full private access control list and automatic subscription payment scheme and the ability for relay owners/admins to block npubs and all that stuff (and override normal privilege to delete as well as to switch from delete to a "marked delete" so administrators can access them in any case)

That’s cool! There is an issue for NIP-42 implementation in strfry, but there hasn’t been a bunch of work on it:

https://github.com/hoytech/strfry/issues/47

nostr:npub19mc0en74540rd0ytuwjjtswwjleqa2a2jnnfmqh7hltyrk2gps6skpz875 was going to work on it, but I haven’t heard from him in a few months.

Yeah I think the problem is, once you start implementing nip42 auth you start to realize all the different ways you might want your authentication scheme to work.. I think that's part of why it was hard to do in strfry, the vision wasn't clear. With this proxy, we can prototype how we want it and maybe later the popular ideas for auth schemes will become more clear.

Khatru or Chorus

Chorus looks awesome. Thanks!

And thank you, nostr:npub1acg6thl5psv62405rljzkj8spesceyfz2c32udakc2ak0dmvfeyse9p35c !

I use chorus for myself and am happy with it, it is very solid and stable for me.

However it is new and I'm not aware of many people using it, so there is some risk in using something new.

But relays are easy. What could go wrong? 🤣

I think it should work for you and if it doesn't I want to know why so I can make it work for you.

I’d be more than happy to keep the lines of communication open. I have a pretty unique use-case, and if you’re into it, I’d love to tell you more about it. In fact, my hope and dream is that my “unique” use-case is the solution to the monetization of relays that has always been a problem for Nostr.