Hardcoding relays as initial defaults for different purposes on clients isn't worse than fetching lists from the user or from NIP-50 relay lists of friends, it's just a recommended list coming directly from the client developer to the user, and the user presumably has a trust relationship to the client developer already.

Reply to this note

Please Login to reply.

Discussion

Let me share my thinking out loud thoughts...

I think selecting relays depends on the purpose / goal in the client. For some clients a hardcoded list will work as the best solution (when it's a microservice client trying one thing at best with a one-kind specific relay) and for other clients which are doing a lot of different stuff around multiple event kinds they would use a dynamic relay selection (and this is where it gets complicated and you inititally define the biggest relays which are transmitting all the events).

I would argue a relay selection should be context-aware. I'm sure this topic is already often discussed in the NIPs repo? (which I should follow more tbh)

very sensible point and I think it should be voiced more, most people think of relays as these free abusable dumb databases still

The issue with fetching relay lists from Nostr itself is that you need relays to fetch anything from Nostr.