This is the thing that I desperately want to fix. Kind 0s should be dead simple to find. I'm open to any ideas for how we solve this, but some deterministic way of finding the latest kind 0 for a particular pubkey would be a game changer. I hate having to query a bunch of different relays for something as simple as a profile picture and display name.

nostr:note1k8cc83ca5y7fa4pmu4m2qg5q7ant5cl97q2n7qyn6t3xmvkzczmqsymng4

Reply to this note

Please Login to reply.

Discussion

I basically get all kind 0 from a pubkey and check for the latest createdAt. I'm assuming that's the most recent one, right?

Yes, but the problem is that you are never sure if that one you are referencing is truly the most up-to-date one. There may be others hiding on differnet relays.

That's true but can you ever know except searching all the relays

That's exactly what I want to solve for

My ideas (alternatives)...

- 1. Provide a centralized API that pulls in all profiles but that would need to be implemented by the clients and is, well "centralized".

- 2. Get clients to use PurplePag.es more consistenly (read/write).

- 3. Write a service that syncs all kind 0 events between all (mayor) relays.

Additionally I would like to see the profile search by keyword and full text being improved. Many clients don't even search for a fragment of the displayName let alone the about section. We have DVM now for that, but maybe we can do even better.

One idea I've been considering it leveraging NIP-05 to help fix this. Whenever a user edits their profile, the client could send a post request to their NIP-05 provider with the updated kind 0. Then assuming the sig is valid, the NIP-05 server could save that info and return it along with the other info for that user like relays.

I would love the developer experience of just being able to set an image src as:

This is why AT protocol includes an offline recovery key that can be used to recover your account by signing a redirect from the old to the new online functional key