Has this caused you any issues with your projects?
Has this caused you any issues with your projects?
Currently clients just use the same bunch of relays as defaults, and let you (maybe) customize the relays you want to connect to.
I think this is sub-optimal for another reason, besides the one you mentioned (discoverability?): you don't necessarily control where your data is stored, and these relays might disappear without notice. It is a great way to broadcast status updates, but not great for having an archive of your own data, that you can trust.
I assume this will change eventually, with paid relays, which will have the incentive to keep your data around, OR personal relays - which is what I am building as part of my CMS - basically I want all my data to have one "canonical" location (my domain) and be hosted on my VPS, which also serves my data as a web page with RSS... this helps me wrap my head around where my data is stored, and know that I always have a copy of it... but doesn't solve the discoverability issue, I guess, which ... IDK, it seems to be solved using just a "shotgun" approach: mostly publishing to well know relays.
It's very early days still, but I use it myself.
The marketplace [2] is much more advanced! You can already use it to buy and sell stuff over Nostr!
[1] https://github.com/servuscms/servus [2] https://github.com/PlebeianTech/plebeian-market
This problem is tackled by an improvement to the protocol that was recently introduced called "NIP-65": https://github.com/nostr-protocol/nips/blob/master/65.md
The TLDR is that when a Nostr client supports NIP-65, it broadcasts to all known relays (which is continually updated/expanded) the list of relays that User A posts their stuff to.
This means that as long as User B is connected to at least one of those "all known relays", their client now knows what relays User A posts their stuff to, and will specifically fetch things from those relays when it needs to load User A's things.
It's essentially the Nostr take on the Gossip protocol: https://en.wikipedia.org/wiki/Gossip_protocol