Event JSON
{
"id": "1d507bb1b69e21bb528c180a42d1cbc29ab4852748a0f5c3280eb188a0a0e7f2",
"pubkey": "0461fcbecc4c3374439932d6b8f11269ccdb7cc973ad7a50ae362db135a474dd",
"created_at": 1739721148,
"kind": 1,
"tags": [
[
"e",
"086ea8aa75bac1d422da3b14f8f8472434a6ab7aab60a560b175bdd82552fe32",
"wss://gleasonator.dev/relay",
"root",
"9e30e940238cd9ebebc6328176dd4d109812129442f2a6c38727fc66fa7ea90a"
],
[
"e",
"0000296d07a6518a0f1af3031c698e26ae8613714e80947dd76030a6966dc9ad",
"wss://gleasonator.dev/relay",
"reply",
"3bf0c63fcb93463407af97a5e5ee64fa883d107ef9e558472c4eb9aaaefa459d"
],
[
"p",
"3bf0c63fcb93463407af97a5e5ee64fa883d107ef9e558472c4eb9aaaefa459d",
"wss://gleasonator.dev/relay"
],
[
"p",
"63fe6318dc58583cfe16810f86dd09e18bfd76aabc24a0081ce2856f330504ed",
"wss://gleasonator.dev/relay"
],
[
"p",
"97c70a44366a6535c145b333f973ea86dfdc2d7a99da618c40c64705ad98e322",
"wss://gleasonator.dev/relay"
],
[
"p",
"32e1827635450ebb3c5a7d12c1f8e7b2b514439ac10a67eef3d9fd9c5c68e245",
"wss://gleasonator.dev/relay"
],
[
"p",
"ee11a5dff40c19a555f41fe42b48f00e618c91225622ae37b6c2bb67b76c4e49",
"wss://gleasonator.dev/relay"
],
[
"p",
"00000000827ffaa94bfea288c3dfce4422c794fbb96625b6b31e9049f729d700",
"wss://gleasonator.dev/relay"
],
[
"p",
"9e30e940238cd9ebebc6328176dd4d109812129442f2a6c38727fc66fa7ea90a",
"wss://gleasonator.dev/relay"
]
],
"content": "I never believed reactions should be replaceable. Poll votes are too hard to count if they are regular.\n\nI think replaceable events are very good if only for this:\n\n \"nostr_events_replaceable_idx\" UNIQUE, btree (kind, pubkey) WHERE kind \u003e= 10000 AND kind \u003c 20000 OR (kind = ANY (ARRAY[0, 3]))\n\n \"nostr_events_parameterized_idx\" UNIQUE, btree (kind, pubkey, d) WHERE kind \u003e= 30000 AND kind \u003c 40000\n\nThe fact they are unique makes lookups very fast.\n\nIf we allowed multiple, filters like `{ kinds: [0], authors: [alex, fiatjaf, patrick], limit: 3 }` wouldn't work right anymore and would have to be split into 3 different filters (now 3 individual REQs if only one filter per req).",
"sig": "71caa930ecb6fdd8b8c7b230e0e05ee1359f5466fe25bedf020d71f4237d45740684712cfae47ac2f791b7105a1b5e9bad72eaead601867ac9c344baadaef3d8"
}