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.

Reply to this note

Please Login to reply.

Discussion

Taking this on board 🤜🤛

#[0]

All of the recommended relays don't work over Tor.

The fact that a relay is published on tor means that you will not be able to find out the real ip of that relay if it only works on tor, but you as a client want your ip to be hidden from the relay so you can use tor or vpn to connect to those relays if you want to safeguard your privacy.

That is exactly what I mean: As soon you use Tor on the client side, all of the recommended relays won't work because Cloudflare blocks the whole traffic from the Tor Network per default. The most paid relays enables Cloudflare to prevent DDOS and spam.

#[6] and #[5] have been shilling me the idea of (((paid relays))) and degree of separation from (((trusted authorities)) for spam filtering.

This is an old scam, and there's nothing about nostr that makes it immune. Only the ability to use TOR is significant. Having everyone run their own hidden services would work just as well.

Where does my name fit into this, bot?

I'm the last person to shill anything you retard.

Now watch them pile on and try to smear me. They can't just ignore me because our discussion is already out there on - you guessed it - thousands of decentralized, non-cloudflare-censored relays. All they can do is try to dilute my message with spam (the spam they want to save you from).

Your mental illness is copied on relay after relay. Don't project that on anyone else.

Sorry, you are right, this would affect the relay nostr.mutinywallet.com.

Tor sucks.

Nice!

Is the reading and writing list for the nostr.wine relay predefined or do I have to edit it somewhere?

It is predefined and changes according to the developers' criteria. You can find info here:

https://nostr-wine.github.io/filter-relay/

Thank you 🙏⚡️

Hm, my follower count drops by more than a thousand if I replace the list of pub relays with filter.nostr.wine.

Something doesn’t work 🤔

Re-adding them gets it back up. Something doesn’t work as promised by nostr.wine I guess

You must also add relay.nostr.band to complement filter.nostr.wine, in case I get all the followers.

I did but once I remove relay.current.fyi and nostr.oxtr.dev I lose more than thousands of followers

#[3]​ What could be happening? Could it be the client used? In my case I keep practically all the followers and the relays mentioned by the colleague are in the reading list.

When I wake up a bit more I’ll try to find one of my hundred posts about follower count.

tldr it’s a garbage number and you’ll get a different answer each client you calculate it on with the same relays. Moreover with some clients you’ll get a different number each time you click it.

As long as you are writing to and reading from the same places, you have the same reach.

We are NOT currently writing to relay.curent.fyi as they had changed some configuration that was causing issues.

I reached out to them but communication has been slow. With that being said I’d find it hard to believe you have many followers that ONLY share that one relay in common.

I deleted and added all the relays in your list one by one to check it. Just telling what I experienced.

There’s a good obvious explanation I just need to put it in words.

It has to do with event limits per relay. If you are only querying one you’re capped by our max events we will return per request.

Thanks for putting in the effort. Looking forward to the detailed explanation 💜

I have a more detailed/correct response that I’ll write up shortly and link here.

Thank you 💜

Tipp: I use NostrGram for checking followers. (Clients can show different count)

Technically you don’t loose anyone. They will see your posts because they are podcasted to the relays that they added through your “proxy” relay.

You might not see them as followers in your client though, because the info didn’t get pushed to the relay u are using. (If I understood that correctly).

Thanks, but I know that I don’t really lose followers. Still, it is a good indicator about your current reach. If I pull all the contact lists from my currently connected relays and it’s 1000 people less then before, then also the reach of my notes is 1000 people less

Well no. I don’t think so, if u use relays that act as a proxy (Nostr.wine filter) and repost your notes to the free relays. Your followers then see your posts, because on there side they are still following you.

That doesn’t make sense at all. So the proxy is only used for notes but not contact lists? Explain me why Cyph3rp9nk has all his followers but not me

The proxy is also used for contacts in the case of filter.nostr.wine, in fact you can test it by putting only that relay and you will get many contacts.

relay.nostr.band also acts as a proxy and gets contacts but it limits the query.

Sorry I meant for followers

Yes that’s what I thought so what Kevin is saying makes no sense

I’m sorry. I am also still learning. Just trying to make sense of it all.

No worries, maybe I am also wrong. Discussions like this help to understand 💜

Cyph3rp9nk asked the creator. Lets see what he is going to reply. Thanks anyway 🙏

Yes. Many contacts but sometimes not all right? So why is that? Do the relays, that have the info, not share it?

Well one side is posting notes (push side). In the example the paid proxy relay pushes your note to all the relays on its list.

Your followers now see it. (On there relays they are following you.)

The other side: the pull information from relays depends on the client and the relay u are using.

If I understand it correctly: when u follow a new account then this info get stored on the notes u are connected to in this moment. I think the problem lies in the sharing of the contact lists. But maybe we should ask someone from the devs for this one.

This is very useful info, thank you!

Good stuff mate

PV mate 🤙

#Followed

#Zapped

#Plebchain

#AUStriches 🇦🇺🦘 npub17lchpm29fg0xlrmaax02p80gzpxq3gr787ma2rm59ak28hyx47qqm2y6p2

Being English, I have an understanding of the word and class context of “Pleb(s)”—Could a few relay people explain a bit more to me why Nostrians are using this word to identify/include Nostr as a ‘community’ of plebs, on a plebchain, etc..? Thank you!

I think the best person to answer this is #[4]​ and #[5]​ wrote a piece on it as well

Here is link with a discussion between the two.

https://www.reddit.com/r/nostr/comments/10ws48c/what_is_plebchain/

#plebchain

#[5]​ #[6]

On Reddit… the legend of Plebchain grows 🤣

https://youtu.be/O6-9wEid0B8

Followid #plebchain 🤙⛓️

Because #Plebchain are English Speaking Natives Satanist who are as useless as fuck!

Don’t know wether I should laugh or be offended by that note

You should.Because its True.

All publicity is good publicity 😆

😂😂😂

That too. 🫡 great analysis

?cid=2154d3d7s9trzawqvqpozpx5o2dr181km11oa944vtypl9qu&rid=giphy.gif&ct=g

Pleb is a reference to Bitcoin ethos IMO.

Pleb is a commoner. We are all Satoshi. We are all equal, staying humble in that mindset that no one is better that the other.

Together we are the blockchain. We are Plebchain

Anyways… just my thoughts. 🫡

Thx mate 🙏💜 followed 🤙

Add a paid relay, add a cloudflare proxy, and keep my relay list as short as possible? Brilliant! Almost as good as Twitter! 😂

If I only download from nostr band, I'm missing a bunch of notes in the feed. So this isn't a standalone download proxy?

As I explained to a colleague I am not sure from which relays relay.nostr.band collects the information, its author says from all of them but I cannot verify it.

In my case the combination of relay.nostr.band together with filter.nostr.wine gives me practically all the followers.

At the moment I don't know any relay that allows the reading of "all" in the same way that nostr.mutinywallet.como does with the writing. In this case if I have been able to verify its code and what it does is to read the api of nostr.watch of relays online and to write in all of them.

When reply to an event is posted most clients include the source relay in the reply (relay of event to which you're replying). So by reading from one relay you eventually learn about other relays, when users interact with them. That's what my server does. As soon as it discovers a new relay it starts reading from it and expands it's network. Right now the number of active relays I read from is 1126 (at the bottom of https://stats.nostr.band/).

But, it doesn't mean that I will _serve_ all events from all relays to clients. 70% of all events published on big public relays is spam, which I filter. Sometimes there might be false-positives. So it's probably not about 'which relays I'm reading from', but 'was that event spam filtered'.

#[3]​

I forgot this detail, relay.nostr.band seems to have a limit in the contact query, that's why I use it as a complement of filter.nostr.wine, however it seems to read all the events.

Not sure what limit you mean. All relays limit the number of evens they could return in 1 request, all clients know how to request the next batch to consume everything that relay has.

If I only attach your relay, my number of followers goes up to 1000 and it doesn't go beyond that, that's why I assumed that the query from your relay had some limit.

Which client are you using?

Damus, but it only affects the follower count, I have been able to verify that if it serves events of all the followers.

Well I guess Damus doesn't bother paging through followers atm and just hopes most people have lowish number that fits relays' per-request limits.

Your data is correct, so it seems to be a problem with Damus.

Can I get data on which relays are using your relay to read?

I read from all relays. I don't know who reads from me. Whoever wants to?

Most relays don't read from anyone, they just accept events from clients. Maybe nostr.wine reads from many relays, maybe there are others - I don't know.

Perhaps I have expressed myself badly.

For example nostr.mutinywallet.com reads the nostr.watch api and writes to all relays marked as online.

In the case of filter.nostr.win the list is small, they are the ones indicated in the main post.

In the case of nostr.band I don't know where it gets the data from, i.e. which list of relays.

My relay has 1234 followers of yours, maybe your client doesn't know how to fetch them properly.

⚡️

Been using this relay combo for a while. Agree with your points 😄

Try mine relay, too.

It has a lot of unused resources.

https://21sats.net — wss://nostr.21sats.net

Only 1000 ⚡️

Awesome tips!

#[0]

Es gibt hier einen guten Beitrag dazu #[1]

questions about relays? #plebchain

#[0]

Followed 🫡 #Plebchain

So your filtering incoming and blasting everyone with outgoing. Got it

Thanks for your helpful advice.

Why is no one even explaining what notes are or who even creates them?What are events?Why are they able to change npub without user consent/permission?Why are we abpe to create npubs from bitcoin txid?Instead of posting these relays who few can only understand,why not explain the basics?

Totally undercut the paid relay market here, very ancap of you 😂

Good list. I can not get global on Damus right with any combination of filters, always random invoices and Chinese spam in there no matter what.

Gonna give this combo a try.

You will also be free of spam thanks to filter.nostr.wine.

relay.nostr.band also has spam filters but things get through, in my case with damus I disable it in the global.

In my profile you will see that I have other paid relai but I just have them because I have paid for them, along with those indicated 0 spam and I can read everything.

The problem is, doing this will cause everyone to have to do it, relays to fill up even more with duplicate messages and waste bandwidth. Normal clients will be swamped UNLESS they use these relay aggregators. Then they will all connect to the aggregator(s), then we're centralized. I hope we can come up with better solutions before that happens because the freedom nostr gives us is to move to other relays if we get kicked, and for anyone to run a low-cost node in the system (decentralization/anti-censor). Currently the source code for aggregation is all closed source, so you're supporting a system that will ultimately either use you as the product, cost a lot more than it does now, or will fail. The only open-source part of this list is blastr, which is a write-only blast to all known relays (not an aggregator).

I totally agree with you, this solution I have proposed is to avoid headaches with relays and save on battery and data, but the solution is the Gossip model that solves all the problems cited by you.

The ideal would be for me to have my private relay and store my notes there and the client would be smart and be able to fetch my notes from my relay, this would make the network much more scalable.

Unfortunately at the moment except for gossip no one is going in this direction.

https://github.com/mikedilger/gossip

I think I read somewhere coracle is doing gossip now too.. Just a matter of time. I have a feeling, aggregators might be SOL once Auth is implemented for relays. Even a free auth, like solve a captcha or etc and all of a sudden this model of leaching off the relays doesn't work so well.

#[1] nice tips 🙏. I like the explanatory part. Would love to see more of this.

Maybe a smart 🧠 can make a website containing not only a list of free/paid relays but also these kind of tips with relay properties.

#[0]

Try nostr. wine and read this 👇

#[1]

Awesome stuff, zapped real hard

I’m running three atm

damus

eden

mutiny

why should I switch this?

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 🤙

ahh centralization. how I've missed you, my friend.

#[0]

#[1]

Explicação mais técnica

#[2]

Here's some good tips

#[2]

I'm really happy with nostr.wine and its filter in the mix. Check out this note for a 4 relay combo that saves on data:

#[2]

Hey, thanks for this info. I've got nostr wine and the filter set up but with the filter I didn't add the / broadcast true - I've just got my npub. I think it's working, but maybe not and I don't know how to tell. Do i need to adjust it?

Try this: #[2]

“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.”

Source:

#[2]

#[5]

If this model is the most profitable, every relay will copy it. It will be inevitable.

Try this its legit. I have only 4 right now. #[2]

My setup

It might help

#[1]

#[2]

So for Nostr Band relay do i simply enter wss://relay.nostr.band into the corresponding field?

Yes

#[4]

Although I still use 7, not just 4

Right now this works for me #[2]

🖇️ relayinfo

#[3]

This might be helpful. #[1]

Also try this

#[4]

#[2]

Maybe you need some relays?

Try this:

#[3]

Maybe this can help. However personally I would not stick to only 4 of them. There is awesome content in other paid relays.

#[2]