Mazin on Nostr: The idea is to standardize everything so that nobody has to implement a bunch of ...
The idea is to standardize everything so that nobody has to implement a bunch of proprietary APIs. I certainly get the appeal of that but the design is wasteful and slow.
Lots of the services “offered” by DVMs are just wrapping centralized services with more latency. For example, most search DVMs just use NIP-50 on one or more of the 3 search relay implementations. Using this instead of connecting directly to the relay(s) is so much more work.
With NIP-50:
1. Connect to search relay
2. Open search filter
3. Relay finds matching events and returns them
3. Display returned events
With DVMs:
1. Make a DVM request event
2. DVM makes NIP-50/search API request
3: DVM parses just the event IDs and returns a list of those in a nostr event
4. Client pulls response event and requests event IDs from all relays? Some relays? Only the NIP-50 relay(s) that supplied the DVM with the results?
5. Relay(s) finds matching events and return them
6. Client displays events
🤯
Published at
2024-09-27 16:12:33Event JSON
{
"id": "c88ae8c3ef75d287714bad00d6111a22c4c989a5835809b7bdff5ad64a6dcab9",
"pubkey": "3d842afecd5e293f28b6627933704a3fb8ce153aa91d790ab11f6a752d44a42d",
"created_at": 1727453553,
"kind": 1,
"tags": [
[
"e",
"19d3b99eb566a25a830393163a6ced541f3dd58eb76829ea14b39bbd930773c3",
"",
"root"
],
[
"e",
"3c9fc034dbccb0487da7723a52eb251e1b19ef648324585a37a2a7c5093f382a",
"",
"reply"
],
[
"p",
"9ca0bd7450742d6a20319c0e3d4c679c9e046a9dc70e8ef55c2905e24052340b"
],
[
"p",
"fd208ee8c8f283780a9552896e4823cc9dc6bfd442063889577106940fd927c1"
],
[
"p",
"d6affa195bb7194a705832f535fa65bab1d8dcdada6b2540ff34b3709110b177"
],
[
"p",
"70122128273bdc07af9be7725fa5c4bc0fc146866bec38d44360dc4bc6cc18b9"
]
],
"content": "The idea is to standardize everything so that nobody has to implement a bunch of proprietary APIs. I certainly get the appeal of that but the design is wasteful and slow. \n\nLots of the services “offered” by DVMs are just wrapping centralized services with more latency. For example, most search DVMs just use NIP-50 on one or more of the 3 search relay implementations. Using this instead of connecting directly to the relay(s) is so much more work.\n\nWith NIP-50:\n1. Connect to search relay\n2. Open search filter\n3. Relay finds matching events and returns them\n3. Display returned events\n\nWith DVMs:\n1. Make a DVM request event\n2. DVM makes NIP-50/search API request\n3: DVM parses just the event IDs and returns a list of those in a nostr event\n4. Client pulls response event and requests event IDs from all relays? Some relays? Only the NIP-50 relay(s) that supplied the DVM with the results?\n5. Relay(s) finds matching events and return them\n6. Client displays events\n\n🤯",
"sig": "bdbb1ed20aa23367da6cc8ffb58b08326b8e01256032b1a31dee181a5520741a2de898626fa4b562814a4a62cf29bc537b5b48f582a98b7678f5d3834e3b7614"
}