So, clients can't just manipulate your relay lists without y...

Dikaios1517

npub1kun5628raxpm7usdkj62z2337hr77f3ryrg9cf0vjpyf4jvk9r9smv3lhe

hex

42a9f87e87ef0ca9dab2d88ec6698efaed4a8eecac37a9ad874eb16b03c3fe8e

nevent

nevent1qqsy920c06r77r9fm2ed3rkxdx804m223mk2cdaf4kr5avttq0plarsprpmhxue69uhhyetvv9ujuem4d36kwatvw5hx6mm9qgstwf6d9r37nqalwgxmfd9p9gclt3l0yc3jp5zuyhkfqjy6extz3jcx0my6w

Kind-1 (TextNote)

2026-06-25T22:53:12Z

↳ 回复 事件不存在

4906f499bb2077d58569eda6e6502e21f721fabac1c4393473fda4b571141eaf...

So, clients can't just manipulate your relay lists without your authorization. It needs a signature from your private key. Now, depending on how you are logging into those clients, they may have more or less ability to obtain that signature, and you may have manually granted authorization for a request to update your relays without really looking at what the request was asking.

You are absolutely right that Luminostr is not terribly useful for the average user. It takes a little bit of knowledge of kind numbers. Here are the main ones I use Luminostr to look up:

10002 - Already discussed, this is your main relay list for public outbox (write) and inbox (read) relays. If a relay does not have a "read" or "write" tag after it on the list, then it is acting as BOTH outbox and inbox.

10050 - This is your DM relay list, where you can receive encrypted private messages. Ideally, it should use relays that will only let YOU fetch messages that are addressed to you, using a feature called AUTH.

3 - This is your follow list, and shows every npub you publicly follow. If a client can't find your existing follow list, then it will create a new one the next time you follow someone from that client. Being able to dig up an old follow list to restore them is very handy indeed if you like to test out various clients.

10000 - This is your mute list. Similar to the follow list, these can get nuked pretty easily and for similar reasons. Additionally, some clients support private, encrypted mutes, while others don't. If you have muted someone privately on a client that supports them, and then mute someone else on a client that doesn't support private mutes, the private mutes are often lost.

All of these are what are called "replaceable events." This means that relays are supposed to discard old versions of them once they have received a new version, that way you don't have more than one relay list, or more than one follow list, etc. If a client receives more than one version of a replaceable event, it will go with the most recent version. However, because Luminostr pulls from so many relays where old versions of these replaceable events might still be available, I can use it to see a history of edits made. This makes it very useful for diagnosing when a problem with one of these replaceable events occurred and how, and then give instruction on how to fix it.

For instance, I can see that your oldest available relay list was created 6/13/2025 and had 12 relays listed on it, with all of them listed as both outbox and inbox. This tells me you were probably using a client that didn't allow you to select which relays were read and which were write, like Damus or Primal.

Then you edited your relay list on 3/3/2026 to get to the state it was in when I made my previous recommendations. Since you already had a kind 10002, it is unlikely that a client would have automatically created a new one for you, let alone one with that particular setup. It's still somewhat possible, though, since your old relay list was only found on one relay, and if the client you were using on 3/3/2026 could not find that relay list, it may have generated a new one and requested a signature from whatever signer you were using, if you were using a signer at all.

Finally, it looks like you updated your relay list today and you now have 3 outbox relays and 4 inbox relays. Looking much better. Moreover, it looks like you did so using the Ditto client. However, you have not yet updated your DM relay list.

原始 JSON

{
  "kind": 1,
  "id": "42a9f87e87ef0ca9dab2d88ec6698efaed4a8eecac37a9ad874eb16b03c3fe8e",
  "pubkey": "b7274d28e3e983bf720db4b4a12a31f5c7ef262320d05c25ec90489ac99628cb",
  "created_at": 1782427992,
  "tags": [
    [
      "e",
      "496d3159706cfe0a448fe8c3a4ada603661efe3005c0239036bd5bfdd14679f5",
      "wss://relay.ditto.pub/",
      "root",
      "dd664d5e4016433a8cd69f005ae1480804351789b59de5af06276de65633d319"
    ],
    [
      "e",
      "4906f499bb2077d58569eda6e6502e21f721fabac1c4393473fda4b571141eaf",
      "wss://spatia-arcana.com/inbox",
      "reply",
      "30c1e4e2ce204a74f35f402862cce22273cb763d9d4c984d57ab7f07e944c1fd"
    ],
    [
      "p",
      "dd664d5e4016433a8cd69f005ae1480804351789b59de5af06276de65633d319"
    ],
    [
      "p",
      "30c1e4e2ce204a74f35f402862cce22273cb763d9d4c984d57ab7f07e944c1fd"
    ],
    [
      "client",
      "JANK"
    ]
  ],
  "content": "So, clients can't just manipulate your relay lists without your authorization. It needs a signature from your private key. Now, depending on how you are logging into those clients, they may have more or less ability to obtain that signature, and you may have manually granted authorization for a request to update your relays without really looking at what the request was asking.\n\nYou are absolutely right that Luminostr is not terribly useful for the average user. It takes a little bit of knowledge of kind numbers. Here are the main ones I use Luminostr to look up:\n\n10002 - Already discussed, this is your main relay list for public outbox (write) and inbox (read) relays. If a relay does not have a \"read\" or \"write\" tag after it on the list, then it is acting as BOTH outbox and inbox.\n\n10050 - This is your DM relay list, where you can receive encrypted private messages. Ideally, it should use relays that will only let YOU fetch messages that are addressed to you, using a feature called AUTH.\n\n3 - This is your follow list, and shows every npub you publicly follow. If a client can't find your existing follow list, then it will create a new one the next time you follow someone from that client. Being able to dig up an old follow list to restore them is very handy indeed if you like to test out various clients.\n\n10000 - This is your mute list. Similar to the follow list, these can get nuked pretty easily and for similar reasons. Additionally, some clients support private, encrypted mutes, while others don't. If you have muted someone privately on a client that supports them, and then mute someone else on a client that doesn't support private mutes, the private mutes are often lost. \n\nAll of these are what are called \"replaceable events.\" This means that relays are supposed to discard old versions of them once they have received a new version, that way you don't have more than one relay list, or more than one follow list, etc. If a client receives more than one version of a replaceable event, it will go with the most recent version. However, because Luminostr pulls from so many relays where old versions of these replaceable events might still be available, I can use it to see a history of edits made. This makes it very useful for diagnosing when a problem with one of these replaceable events occurred and how, and then give instruction on how to fix it.\n\nFor instance, I can see that your oldest available relay list was created 6/13/2025 and had 12 relays listed on it, with all of them listed as both outbox and inbox. This tells me you were probably using a client that didn't allow you to select which relays were read and which were write, like Damus or Primal.\n\nThen you edited your relay list on 3/3/2026 to get to the state it was in when I made my previous recommendations. Since you already had a kind 10002, it is unlikely that a client would have automatically created a new one for you, let alone one with that particular setup. It's still somewhat possible, though, since your old relay list was only found on one relay, and if the client you were using on 3/3/2026 could not find that relay list, it may have generated a new one and requested a signature from whatever signer you were using, if you were using a signer at all.\n\nFinally, it looks like you updated your relay list today and you now have 3 outbox relays and 4 inbox relays. Looking much better. Moreover, it looks like you did so using the Ditto client. However, you have not yet updated your DM relay list.",
  "sig": "2bceeda9fc0ebf233b9aec87e83f47ab5ad3ca3647a4207df4953dc19494c176b81ad2b0fbb07d0186c5832ec68b8b870954ef4bdf781459a79c567417205544"
}