Replying to Avatar Cyph3rp9nk

Tips for Relays.

Forget about having a thousand and one relays.

The first option is to pay for nostr.wine, it allows you to use the filter.nostr.wine filter. The filter works both requesting events from other relays and sending events to other relays. In case you want to send events to other relays you have to add the relay with the following syntax:

wss://filter.nostr.wine/REPLACE_WITH_YOUR_NPUB?broadcast=true

Reading list:

wss://relay.damus.io

wss://nos.lol

wss://relay.current.fyi

wss://brb.io

wss://nostr.oxtr.dev

wss://relay.nostr.bg

wss://no.str.cr

wss://nostr.mom

wss://nostr.zebedee.cloud

wss://relay.plebstr.com

wss://offchain.pub

Writing list:

wss://relay.damus.io

wss://nos.lol

wss://relay.snort.social

wss://nostr.oxtr.dev

wss://relay.nostr.bg

wss://nostr.fmt.wiz.biz

wss://nostr.mom

wss://nostr.zebedee.cloud

wss://no.str.cr

wss://relay.plebstr.com

wss://offchain.pub

The next special relay is relay.nostr.band. This relay reads events from all relays and applies a spam filter, in the case of writing you only write to relay.nostr.band but it is a good complement to add content to relay filter.nostr.wine as it only requests events from your contacts and your contacts' contacts. It is not clear to me from which relay is requesting the events as the code is not available.

And finally the relay nostr.mutinywallet.com. This relay uses blastr which is a nostr cloudfare worker proxy that publishes to all known relays. Basically what it does is to read the list of online relays from nostr.watch and all events are queued to be executed in batches by another worker that rotates every 30s if there is an event queued, or once a certain amount of events are queued. In this case the relay is write-only.

In short, your relays could be reduced to 4:

wss://nostr.wine

wss://filter.nostr.wine/REPLACE_WITH_YOUR_NPUB?broadcast=true

wss://relay.nostr.band

wss://nostr.mutinywallet.com

With them you save bandwidth and battery, actually filter.nostr.wine in write mode and nostr.mutinywallet are redundant, but I put the two because nostr.mutinywallet.com has more amplitude because it publishes in all the online relays of nostr.watch and also because it has high availability in case of failure of any of the two relays mentioned above.

The same case is applicable in the case of reading for filter.nostr.wine and relay.nostr.band.

I’m running three atm

damus

eden

mutiny

why should I switch this?

Reply to this note

Please Login to reply.

Discussion

My understanding is that by switching to the relays suggested in this note, you’d be improving the efficiency of how your client communicates with the most used relays, and therefore improving performance. In the case of connecting to wine relay you are essentially connecting to many others for reading and writing, by just connecting to one. In doing so, you are decreasing the number of individual relay connection requests your client is making. Thereby improving (decreasing) consumption of data and battery resources. Although there seems to be a centralization factor to consider as well. Maybe we don’t want to have many accounts connecting to a handful of relays that proxy the most popular relays in the network. Even if doing so improves resource consumption

Not really sure if it is an improvement in your case since you are connected to a few, but for those who are individually connecting to many of the relays wine is, like I was, then possibly it is. Curious myself to hear the OPs thoughts on your question.

summary:

With relay.nostr.band relay you read in all relays.

With relay.nostr.mutinywallet.com you write to all relays.

nostr.wine gives you permission to use filter.nostr.wine and we use it to have a spam-free global feed as it queries the notes of your contacts and the notes of your contacts' contacts.

Even though relay.nostr.band has anti-spam, a lot of spam gets through, so I prefer to exclude it from the global feed and use filter.nostr.wine.

We also use filter.nostr.wine as both a read and write backup in case the first two fail, although its scope is more limited as it only reads and writes from about 10 relays.

In short, you have write and read access to practically all nostr realys that are in the nostr.watch list with only 4 relays, so you save on battery and data and gain in visibility.

Actually, trying this setup. So far so good 🤙