nostr relay proxy

ive learned more about how the nostr protocol works just using alphaama for the last week, than i ever did from fame seeking devs.
You lost me at write a code. 😂
Here begins the construction of a dream! #bitcoin #survivor #libertarian #freedom
Here begins the construction of a dream! #bitcoin #survivor #libertarian #freedom
I note from everywhere 🚀
Please provide pictures
t-y 4 input!
"Only the good die young" Normies waking up to why #conspiracyfact #nostr #bitcoin #plebchain #plebs #zap
Closed Michael < Open Mike
Thanks for the heads up. We’re in the process of switching lightning providers. Should be sorted by tomorrow
{"sig":"3c4c334e0efd0df506313319baccf9c83003856431215526c0a49c5d1b700f7af952699fcbaf693259e1fc4c5e57e47a112b9a5d9d2708062e4a0a8ac3e4604c","id":"325449992c96a059d657755d19300b61bb1ed63ee862b15b5133d27a0ac7acc1","pubkey":"1586fd57ac81b66177b0087bb0c0fa465f30b9895949c8936836ec5e6cd13132","created_at":1728102408,"content":"Akhona's first group training session, in preparation for Mossel Bay Iron Man, 70.3\n\nRace day - 17 November, 2024\n\nWe're still raising funds to cover expenses, please consider helping, if you can:\n\nhttps:\/\/btcpay0.voltageapp.io\/apps\/3bHPddq7v4NmRLE5DrFbG6iyqEGB\/crowdfund\n\nhttps:\/\/video.nostr.build\/9af046ba13b691dd469db5235ce3dda298e3e0fefb30f3b3361d9d5d11f45452.mp4","kind":1,"tags":[["r","https:\/\/btcpay0.voltageapp.io\/apps\/3bHPddq7v4NmRLE5DrFbG6iyqEGB\/crowdfund"],["r","https:\/\/video.nostr.build\/9af046ba13b691dd469db5235ce3dda298e3e0fefb30f3b3361d9d5d11f45452.mp4"],["imeta","url https:\/\/video.nostr.build\/9af046ba13b691dd469db5235ce3dda298e3e0fefb30f3b3361d9d5d11f45452.mp4","m video\/mp4","alt Verifiable file url","x 3fffc88f3aec559329872195f49af9c8f68a191b1bedfde28378f80d41eebc18","size 23729429","dim 1184x848","blurhash rGF~jr00~XDiDixaV@-;xvXokXNG%NX8WUbbW;bb_4%MRPaKxaV@oMWAM{0ex]SgWVozW;R*kCt79FsoRPaexut7e.RiRi9Zozxua{azkCRkWAof","ox 9af046ba13b691dd469db5235ce3dda298e3e0fefb30f3b3361d9d5d11f45452"]]}
Sorry, we’re in the process of switching lighting providers. Will have to sorted by tomorrow
The Wire my G
{"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 😢
next
prev

rendered in 10.517548ms