I've been thinking about this a lot.

Laeserin

npub1m4ny6hjqzepn4rxknuq94c2gpqzr29ufkkw7ttcxyak7v43n6vvsajc2jl

hex

b5acc8b8ca6ed8c23387120147190e726db473c23edb6b993ce9a98fbd4d3629

nevent

nevent1qqstttxghr9xakxzxwr3yq28ry88ymd5w0prakmtny7wn2v0h4xnv2gprpmhxue69uhhyetvv9ujuem4d36kwatvw5hx6mm9qgsd6ejdteqpvse63ntf7qz6u9yqspp4z7ymt8094urzwm0x2ceaxxgjdfmuc

Kind-1 (TextNote)

2026-03-14T05:38:20Z

↳ 回复 事件不存在

fab0a6210fc51ea0d68b2b1d08b20a56249820fbe23085aa2bebc7bdc04ab914...

I've been thinking about this a lot.

On #aitherboard, I let the user "edit" any event (even if they did not sign it) by just pressing a button. I create a clone of the event and discard the unique identifiers (event ID, timestamp, signature), allow them to edit kind, tags, and content, and then add new unique identifiers and publish. Relays then suppress, mark, or delete the original event (if it is replacement), or they simply return both the original and clone.

If it were a mutation, like in an RDB, I could change the content and it would overwrite in place (same record). But this creates a new record. Nostr effectively does only the CRD parts of CRUD. No update, only replace.

原始 JSON

{
  "kind": 1,
  "id": "b5acc8b8ca6ed8c23387120147190e726db473c23edb6b993ce9a98fbd4d3629",
  "pubkey": "dd664d5e4016433a8cd69f005ae1480804351789b59de5af06276de65633d319",
  "created_at": 1773466700,
  "tags": [
    [
      "e",
      "fab0a6210fc51ea0d68b2b1d08b20a56249820fbe23085aa2bebc7bdc04ab914"
    ],
    [
      "p",
      "70122128273bdc07af9be7725fa5c4bc0fc146866bec38d44360dc4bc6cc18b9"
    ],
    [
      "client",
      "aitherboard"
    ],
    [
      "t",
      "aitherboard"
    ]
  ],
  "content": "I've been thinking about this a lot.\n\nOn #aitherboard, I let the user \"edit\" any event (even if they did not sign it) by just pressing a button. I create a clone of the event and discard the unique identifiers (event ID, timestamp, signature), allow them to edit kind, tags, and content, and then add new unique identifiers and publish. Relays then suppress, mark, or delete the original event (if it is replacement), or they simply return both the original and clone.\n\nIf it were a mutation, like in an RDB, I could change the content and it would overwrite in place (same record). But this creates a new record. Nostr effectively does only the CRD parts of CRUD. No update, only replace.",
  "sig": "0254f6588d11d32437b577cd1c8998afc4a9e44a45201d153d1fac42d9e976ede4a72915fd6fc99944751392971f26af6ef497201ad62241b49ec6a4f53753f8"
}