So I was listening to @Gigi and @hzrd149 talk about replicating content across relays this morning, and so I wrote replicatr: Replicatr is a daemon which listens to one or more indexer relays for `kind 10002` events. When it detects a change in any user's relay selections, it uses negentropy to sync that user's notes to their new relays based on the outbox model. The neat thing is you don't have to run one. I deployed one this morning which points to indexer.coracle.social, so if your metadata gets published there (or to any of the relays that it mirrors), you're already covered (unless your new outbox relay rejects replicatr's publishes).

Replies (11)

Well, that's sort of orthogonal to this problem, since the point of indexers is to have a copy of 10002s. But I agree that bootstrapping isn't really solved. Not all clients post relay selections to indexers, and even if they did indexers are sort of centralized right now. There should probably also be a service that scans the entire network and replicates relay selections to known indexers.
I don't think it would be bad to just add a `path` tag to that event, but I'm not really sure how people are currently using it, or how bad not having a path would be.
Yep, I use it to sync my indexer with a few others. Outbox model is somewhat more complex though, replicatr is intended to help fix missing note parents and stuff like that (although I can't help wondering if it's a band-aid solution).
↑