nostr relay proxy

{"id":"19b6bdf9cc7332ad7180f0540782f2dba252c0684933cb33f35f8ef337b1d8fb","pubkey":"958b754a1d3de5b5eca0fe31d2d555f451325f8498a83da1997b7fcd5c39e88c","created_at":1728096115,"kind":1,"tags":[["p","7c765d407d3a9d5ea117cb8b8699628560787fc084a0c76afaa449bfbd121d84"],["p","f803c250280e32fa8dd53c1ac0d2d74ef4f945b4630fc4f10d097d25d0a3fdfb"],["r","https://proofofink.com/product/cathie-would/"],["r","https://proofofink.com/product/cathie-would-hoodie/"]],"content":"CATHIE WOULD T-SHIRTS & HOODIES ARE LIVE 🔥🔥🔥\n\nGET YOU ONE! 🙌\n\nSLEEPY X nostr:npub103m96sra82w4agghew9cdxtzs4s8sl7qsjsvw6h653yml0gjrkzqefd3h5 X nostr:npub1lqpuy5pgpce04rw48sdvp5khfm60j3d5vv8ufugdp97jt59rlhasry9h3r COLLAB 🥳\n\nSHIRTS https://proofofink.com/product/cathie-would/\n\nHOODIES https://proofofink.com/product/cathie-would-hoodie/","sig":"0aa9a477751ece2f44095f90d62cd902751d61d58556828c8256a9768fee1341fea4df272c32f57bfe9b63d4dce30e994aac922f493578c1a153c1531a9cff76"}
Oh my god
not CBOR because bluesky and IPFS and fuck that shit protobuf is the most broadly supported and best maintained binary codec
nostr websockets are generally flate compressed by default also... for the most part this reduces the size of the hex encoded fields almost to binary, and greatly compresses long text segments and repeating fields like in req envelopes
{"id":"563071b80580c1d1ad7f37586ca83d5c9fd09edbabf385e9055cc61c45050a55","kind":1,"pubkey":"74764e0309d2048ff00b9bf620ec040101f15d63bb613e9d6a3fb68449059685","created_at":1727807078,"tags":[["e","457aeddefa36d991c127448d99aaa22be33e83af58d69f8cc9054a1047e967c1","","root"],["p","a80455732d5bfa792f279011a8c871853182971994752b9cf1169611ff91a578"],["p","4ce6abbd68dab6e9fdf6e8e9912a8e12f9b539e078c634c55a9bff2994a514dd"],["r","https://wavlake.com/track/3f6bdfa5-dff5-4682-b14c-05295e66a33f"]],"content":"Jumping on nostr:npub1fnn2h0tgm2mwnl0kar5ez25wztum2w0q0rrrf326n0ljn999znwsqf4xnx bandwagon 😁 https://wavlake.com/track/3f6bdfa5-dff5-4682-b14c-05295e66a33f","sig":"4d24fde323f8a32096e31a19732f0321b2cc362bc9ced21a205ebf9d4e55a37205fe9e59882c419233b186514d5a4e611157eacbb3d60e0eef8150790307da29"}
write a codec. simple in my nostr codec it decodes all the nasty hexadecimal fields (p tags, e tags, a tags) into raw binary for internal use to save memory and speed up matching, and this is also then transformed to the binary format used by the database all you have to do is write one good codec and done, modularity solves the problem
{"id":"09474c8fede5e26e4febdf9b04211ff3018d1bc69e33f302b346f71eb22e738a","kind":1,"pubkey":"1933b4505488730d67fe438871b98281308a6a061bd6e9633015f8a2eae4bd28","created_at":1727961641,"tags":[["i","podcast:item:guid:f46d82f2-7f26-4357-9258-32da68324f74"],["i","podcast:guid:8f9e1bb3-2ed6-51e6-85d5-5dee9ca45a6c"],["i","podcast:publisher:guid:8f9e1bb3-2ed6-51e6-85d5-5dee9ca45a6c"]],"content":"They ain't ready. We soOo early! \n\nhttps://wavlake.com/track/f46d82f2-7f26-4357-9258-32da68324f74\n\nnostr:nevent1qvzqqqpxquqzp33w7hpu5tsvy8l7nj62madhh2hp5ghzvkwuqrp0mvfyr3uadsnyky06h2","sig":"cd3ff0918e5d7dccc30a9eacca0c6806d3116c9ca121370101f02fde87180d74a3fcadc750cb4ab3fcb2535d5d5bef09dced2a73570508a8142992f5b713e06e"}
{"id":"977a82fd09c32cf531e981020003061dd0935e97272dc066e10dd7e932a6eddb","kind":1,"pubkey":"1933b4505488730d67fe438871b98281308a6a061bd6e9633015f8a2eae4bd28","created_at":1727962149,"tags":[["i","podcast:item:guid:bbee37a4-2d36-4a30-ae90-778c68540564"],["i","podcast:guid:0c6afa48-18cd-50f3-b89f-27e73086d594"],["i","podcast:publisher:guid:0c6afa48-18cd-50f3-b89f-27e73086d594"]],"content":"Killar beatz\n\nhttps://wavlake.com/track/bbee37a4-2d36-4a30-ae90-778c68540564\n\nnostr:nevent1qvzqqqpxquqzpcu7qhshz8j8xmff27rtzhksn3tf4q2z5j6jdwe4lggyt5tmxr9dzgcvc2","sig":"cf791808bf2246c7a5aee024f08576a24960e039158714853055f4e2d7169479eb3608350f3088275aaa97dd467d6237452d376a509f20f5a435834de3ea1fe2"}
so sure in your conviction or something else?
you need to go study the principles of Unix if you don't understand why having the messages in JSON is better.. the default websockets use Flate compression and this is pretty decent at deduplicating the high entropy pubkeys if you want to make a relay and client that works with a binary format, go make it, but you will have a bad time if its primary support of JSON is not kept fully up to date, interoperability > all by obscuring data in a binary format you create all kinds of problems with interoperability, debugging, and so on, i'm not saying don't do it, but it's a low priority compared to fully supporting the easy to debug human readable format, even if json is shitty for certain parts of it syntax it's still readable here's the principles of unix, summarised by Brave's AI: ----- Write programs that do one thing and do it well: Focus on simplicity and single-purpose tools. Write programs to work together: Design tools to be modular and interoperable. *Write programs to handle text streams: Use text as a universal interface for data exchange and processing.* Additional Principles From “The Art of Unix Programming” by Eric S. Raymond: Rule of Clarity: Clarity is better than cleverness. Rule of Composition: Design programs to be connected with other programs. Rule of Separation: Separate policy from mechanism; separate interfaces from engines. Key Concepts *Plain text: Store data in plain text files.* Hierarchical file system: Organize files and directories in a hierarchical structure. Treat devices and IPC as files: Use a file-like interface for device management and inter-process communication. Use software tools: Prefer small, specialized programs (tools) over monolithic applications. Command-line interface: Use a command-line interpreter to string together tools and execute tasks. Notational Conventions
Nodelessless 😢
Arguably the best. Or at least the first of that caliber.
1st irl #bitcoin purchase nostr:npub1key55ax33gkl50uqemvl4khrtqrhzm7wzpc7fhseutt5ddkcwcrqgxlt3h 🤙
🤙
my boy was orange pilled a couple months ago now I’m tryna purple pill him 🫡 sent him his first zap ⚡️ so he could experience the lightning network, it was almost instantaneous 🔥 nostr:note1m06zgs0kfxyffm9y6at8846dgh2pa5udda9z7wk0xmzay7d42ufsykhutm
don’t need to change your mind. think what you want.
💯
+
JSON is the reason 90% of nostr devs where able to easily learn nostr
Mientras tanto los logs de #Bitcoin Rescanned through block "una cadena alfanumérica larga" (height 850000) El nodo de #Bitcoin esta volviendo a escanear la cadena de bloques, ahora va en el bloque con el hash ..., el cual corresponde a la altura 850000. Esto sucede normalmente por: 👇🏻 ➡️Importación de claves privadas o nuevas direcciones. ➡️Cambio de configuración de la billetera. ➡️Corrección de datos. desactualizados o corruptos. ➡️Sincronización con una billetera existente. Entre otros. Espero hayan aprendido un montón hoy sobre #Bitcoin y muchas cosas más.😇 Vamos a las ✨ y a la hermosa 🌙. Dulces 🍭 sueños 😴. Gracias. ✨🌚🌝✨
cannabinoid hyperemesis syndrome
+
BTCUSDT: 💸$61,862.86 Last Update: 10/05/2024 04:05 (GMT Time) 📊ACTION ZONE 4H ❌ DownTrend (-2.67%) 📅09/30/2024 16:00 💸@$63,561.41 12H ❌ DownTrend (+1.81%) 📅10/03/2024 12:00 💸@$60,764.74 1D ✅ UpTrend (+0.17%) 📅09/19/2024 💸@$61,759.99 1W ✅ UpTrend (+175.80%) 📅03/06/2023 💸@$22,430.24 #spaceship #bitcoin #btc #nostr #plebchain #zap #zaps
1 BTC = 61892.1 USD 1 USD = 1615 sats #bitcoin 864224 4sat/vB #btc #usd #btcusd #dollar
next
prev

rendered in 14.354238ms