Reading from relays is the easy part. We’ve experimented with adding 100s of relays to our ingress and all it adds is duplicates.
Discussion
Only 10? I forgot this part. Maybe that's why I was often missing events? I don't think you can assert that the other 90+ relays *only* add duplicates
It’s over 30, actually, but doesn’t really matter. Of course it is not going to be perfect coverage, even if you add every known online relay because some will rate limit your REQs or reject your filters, some will require AUTH, etc. Our goal is to have very good coverage, not perfect - and we have achieved that for multiple years.
Event propagation on nostr is way more broad than people realize. Most events end up on the top 10 relays within a few minutes of being delivered, even if they are not sent to one of them directly.
That's fair, I don't have the numbers so I trust you on that.
Since I'm AUTHed and you have my contact list, if people I follow have outbox set up (i.e. their 10002 points to where they write) - do you go fetch notes there? Or not at all?
AUTH is not transitive and is tied to only one relay, you would need signer connect for that.
I don't think you understood what I said. Forget AUTH, you know who your customers are. If so, you can fetch their contact lists, so you are able to look at all their contacts' 10002 events and pull from those relays
Ah. In my case I’m considering directly indexing those relays fully, as it would be more efficient + faster than forwarding REQs based on AUTH
No - filter only respects NIP-65 for broadcasting, not for reading.
"Your events are automatically broadcasted to your first 4 "write" relays and the first 4 "read" relays from the first 5 tagged users.”
Looks like your infrastructure is not built to scale then 🤷
The Noswhere indexer is currently handling hundreds of open connections with zero issues.
It can very efficiently handle duplicates while still being able to import a lot of events.
It goes through a custom event processing pipeline and within 1-2 seconds you’ll see it on aggr.nostr.land.
Seconds, not minutes.
With NFDB the query performance is significantly better as well, and allows faster queries on large datasets.
Is aggr.nostr.land going to be merged into nostr.land or it needs to be configured separately?
Currently separately. Later on you’ll be able to choose if you want it as 1 relay or 2 relays.
One has the benefit that you have a clear distinction between paid and free content, and the other saves data.