Newer client devs are blessed to be able to start off with outboxes, AUTH, and signers. Every client dev used to have to figure this stuff out on their own, and now there's something that just works.

I suspect some older clients would be hella fast and more stable, if they just ditched their whole repo and rewrote it based upon the current protocol standard.

nostr:nevent1qqs28s69rmavzuk8lqc27qguu6hs8a4wlvkct696a982hl0e9m5k8lgpz3mhxw309akx7cmpd35x7um58g6rsd3e9upzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqvzqqqqqqyf69sly

Reply to this note

Please Login to reply.

Discussion

And skip follow centrality. That adds way too much complexity and room for error, and has led straight back to centralization, to deal with this fragility.

By obfuscating relays, you encouraged users to think they don't matter, when they're actually an essential part of the architecture.

They should have pride of place, in your client.

#RelayCentricDesign

I need to figure out the outbox model and use it. Not sure where to start

In principle, it's pretty simple. Each user reads from some relays and writes to others.

If User A wants to read an event from User B, User A should query the relays User B writes to, i.e., his outbox relays.

Likewise, if A wants to ensure B can see a note, A should send to the relays B reads from, i.e., his inbox relays.

How do you identify a user's inboxes and outboxes? There are a few ways:

- Query some common relays and download the user's relay list event.

- Use relay hints in events or event addresses themselves, as detailed by the protocol.

- Keep track of which event authors show up on which relays, and maintain a running list in-app of inboxes and outboxes.

Other methods are likely possible. The first two are the most straightforward; any client dev can start with those.

Is there a reason I don't want to just connect to every relay I learn of?

data use

And it slows the client down.

Everyone will have a personal relay, spread across all of their (online and offline devices) and they will use peer-to-peer strategies when they can. And it will be glorious.