hodlbod on Nostr: Any hint is better than no hint, so I don't think there's any reason to overthink it ...
Any hint is better than no hint, so I don't think there's any reason to overthink it too much. But the heuristic Coracle uses is:
1. Get rid of non-shareable relay urls (localhost, tor, auth'd relays)
2. Grab a random write relay from the event's author's 10002 list
3. Fall back to the relay the note was seen on
4. Fall back to a random read relay from the user's list
Hints aren't really a complete solution unfortunately. They'll eventually rot as relays go away or user selections change. This doesn't matter for most notes, which are effectively ephemeral, but for older notes we do need a more robust strategy. This could be done using an indexer, or establishing conventions around copying a user's existing notes to their new relay selections.
This could even be done by the relays themselves — scan the network, when you find that a user has added your relay as a "write" relay, scrape the network for that user's notes and copy them to your database. That would be kind of interesting.
Published at
2024-01-03 17:54:37Event JSON
{
"id": "96e736af8739c1bb0022bf6c99868de4e66e5698b9bef5e72b0b998065089c0e",
"pubkey": "97c70a44366a6535c145b333f973ea86dfdc2d7a99da618c40c64705ad98e322",
"created_at": 1704300877,
"kind": 1,
"tags": [
[
"p",
"fa984bd7dbb282f07e16e7ae87b26a2a7b9b90b7246a44771f0cf5ae58018f52",
"wss://relay.damus.io/",
"PABLOF7z"
],
[
"p",
"9be0be0e64d38a29a9cec9a5c8ef5d873c2bfa5362a4b558da5ff69bc3cbb81e",
"wss://relay.damus.io/",
"Fabian"
],
[
"e",
"154f440c656f0f54959f4fad6d267e2cf14bfb231ad3a4d173a14c1e2c0309cb",
"",
"root"
],
[
"e",
"85f4642684a14171eb7918cd5c9d40cb78154affeabf4e3c47381af51414d2fc",
"wss://nostr.wine/",
"reply"
],
[
"client",
"Coracle",
"31990:97c70a44366a6535c145b333f973ea86dfdc2d7a99da618c40c64705ad98e322:1685968093690"
]
],
"content": "Any hint is better than no hint, so I don't think there's any reason to overthink it too much. But the heuristic Coracle uses is:\n\n1. Get rid of non-shareable relay urls (localhost, tor, auth'd relays)\n2. Grab a random write relay from the event's author's 10002 list\n3. Fall back to the relay the note was seen on\n4. Fall back to a random read relay from the user's list\n\nHints aren't really a complete solution unfortunately. They'll eventually rot as relays go away or user selections change. This doesn't matter for most notes, which are effectively ephemeral, but for older notes we do need a more robust strategy. This could be done using an indexer, or establishing conventions around copying a user's existing notes to their new relay selections.\n\nThis could even be done by the relays themselves — scan the network, when you find that a user has added your relay as a \"write\" relay, scrape the network for that user's notes and copy them to your database. That would be kind of interesting.",
"sig": "71e07061c457daa85865456f685a11c7ec0b44f1af8ababacb7f2b4b814b4cb98b75eb08be202d1eb1550e903446de8fcabd9587aa7863b6c7865a4cf238a20f"
}