Hey all! Here's a new nostr relay implementation I'm working on:ย https://github.com/hoytech/strfry

It's still in beta/dev, but pretty close to production ready. Most interesting feature is a merkle-tree based set reconciliation protocol for syncing messages between servers.

Reply to this note

Please Login to reply.

Discussion

Nice. Thanks for working on this. Really detailed readme too.

Once more apps get released Iโ€™m hoping weโ€™re ready for the next wave of 10-100X growth. And relays are definitely an area we need to optimise performance and allow greater scalability.

Thanks! I'm looking forward to actually testing strfry on production traffic. :)

I think the merkle-tree syncing could really help with distributing data amongst relays too, I'm going to write more on this shortly.

Great name. ๐Ÿค™๐Ÿผ

Thanks for working on this. Is the socket server async or threaded?

There is a "websocket" thread that is async since it handles multiplexing all the different websocket connections. However, it delegates most CPU or I/O bound operations to various thread pools. There are more details in the Architecture section of the README:ย https://github.com/hoytech/strfry#architecture

strfry #[0]

Because #[8] has shared it:

#[3]

๐Ÿ‘Will try to build and run this tmrrow

Yeah

๐Ÿ‘€

Onnit.

This is a new account and with no profile. Have people verified this is the author for sure?

๐Ÿ‘€