Oddbean new post about | logout
 Huge milestone: First demo of Nostr Web Services (NWS) bringing TCP to Nostr. With NWS, you can host any existing web application on Nostr without having to use DNS or even announce your public IP to the world, simply by sharing your service's npub (or nprofile).

Try it out the demo yourself. Here is a Cashu test mint running with NWS. Let's use curl to retrieve the mint's information. The request travels from your computer to the public NWS entry relay, then through nostr to the service's NWS exit relay. At the other end is a Cashu mint with HTTPS encryption.

```
curl -s -x socks5h://relay.8333.space:8882 https://nprofile1qqs8a8nk09fhrxylcd42haz8ev4cprhnk5egntvs0whafvaaxpk8plgpzemhxue69uhhyetvv9ujuwpnxvejuumsv93k2g6k9kr/v1/info --insecure | jq
```

https://m.primal.net/JTMl.png 

I can't stress this enough: THE MINT RUNS BEHIND HTTPS!

The NWS entry relay can't read your traffic. It's encrypted. We can host public entry relays that can be used by anyone.

This means we can plug the entire internet to it ðŸŒ.

Let's plug it into Cashu for now. Nutshell wallet supports socks5 proxies (that's how it uses Tor). By setting the public entry relay as the proxy, the wallet can now connect to a mint's npub/nprofile and communicate with it via NWS.

https://m.primal.net/JTot.png 

This is going to be so freaking cool. And it's going to be a lot more useful than just for Cashu. There are still bugs and issues that need to be ironed out but the code is coming out soon. Watch this space. 
â–² â–¼
 Fkn what 👀

Layer 69. The layer that keeps on layering 
â–² â–¼
 It layers both ways at the same time 
â–² â–¼
 Nice 
â–² â–¼
 it's cool, but what problem does this solve? 
â–² â–¼
 The privacy and freedom issues with IPs and DNS. 
â–² â–¼
 its solves the centralization problem on Domain Names. But adds complexity as Nostr npubs will need to be QRs - not easily verified...  
â–² â–¼
 DNS has many problems 
â–² â–¼
 I’m excited about you being excited because the rest went over my head! 
â–² â–¼
 Speaking my mind  
â–² â–¼
 What! You mean you’re not trying it out already? 😆 
â–² â–¼
 Same. 

Can I see it in a browser?

I love what, I believe to be, the premise. Looking forward to seeing it come together. 
â–² â–¼
 It sounds cool though 🤣 
â–² â–¼
 Yeah!!! 
â–² â–¼
 --> "Nostr Web Services (NWS) brings TCP to Nostr. With NWS, you can host any existing web application on Nostr without having to use DNS or even announce your public IP to the world, simply by sharing your service's npub." <--

nostr:note12vy8lmphxyfd7np7t503k8fzs3em2h6szfwad0fkgr6prjkjuhxsddyprj  
 NWS - Nostrich routing 
â–² â–¼
 So if you use a nutzap to pay for a relay, you can pay with nuts to use your nuts.

https://m.primal.net/JTqE.png 
â–² â–¼
 No. ecash is layer 3 on the money stack, NWS uses Nostr relays for routing (transport layer).

There will be many services NWS will be able to run...  
â–² â–¼
 Are there any NIPs or technical writeups on this?  
 I think it will become clearer once the code is released.  
â–² â–¼
 Who currently works on NWS? A DNS alternative sounds like a major feature. 
 Are you saying we can provide anonymous web services on Nostr? 
 Sounds so cool. Can't wait to host my site with this. Not sure if I get how it works without a domain name yet, but looks powerful.  
â–² â–¼
 Wow, incredible 
â–² â–¼
 I’m trying to move away from https certificate authorities and inflatable monies, but you do seem like a pretty cool guy calle! ðŸ‘ï¸âš¡ï¸ðŸ‘ï¸

I think you’ll love the decentralized web component we’ve got cooking for Nostr. Just need a little more time. 👨â€ðŸ³ 
â–² â–¼
 Ok now this is truly a game changer! 
â–² â–¼
 Is the communication wrapped as ephemeral nostr events or is it some other way? 
â–² â–¼
 So Nostr web service accepts an npub and returns content from an IP address? Or, is the content a note stored on a relay? 
 👀👀👀👀👀👀💪
nostr:nevent1qqs9xzrlasmnzyklfsl968cmr53ggua4tagpyhwkh5mypaq3etfwtngpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhsygzsm98u9kzcp35zkpc62shck8335gqtq5yt4w26xwl0pp2a72qavvpsgqqqqqqslacsxw 
â–² â–¼
 Very exciting. Thank you. 
â–² â–¼
 well done🫡 
â–² â–¼
 yep 👠
â–² â–¼
 Good bye Tor, it's been a great ride.  
â–² â–¼
 tell Stuart to HFSP,  @gsovereignty 
 The US Navy and glowies will be crestfallen. 

https://m.primal.net/JTxG.jpg  
â–² â–¼
 It's nostr all the way down 
 Boom! 
â–² â–¼
 Mind blown! 
â–² â–¼
 👀 
â–² â–¼
 This is amazing! I wonder if a privoxy rule will match a hostname starting with npub and nprofile and forward it to the socks5 relay like it does with .onion hostnames 
â–² â–¼
 I tried this and it works from a regular chrome browser 
â–² â–¼
 cool
nostr:nevent1qqs9xzrlasmnzyklfsl968cmr53ggua4tagpyhwkh5mypaq3etfwtngppemhxue69uhkummn9ekx7mp0qgs9pk20ctv9srrg9vr354p03v0rrgsqkpggh2u45va77zz4mu5p6ccrqsqqqqqpg5uuju 
â–² â–¼
 Great, now the media will call Nostr the “Dark Web.†😂 
â–² â–¼
 It’s not? 
â–² â–¼
 We’re all on a list now. 
 We're not here for the memes and to whoever created listr, thank you! 
â–² â–¼
 The purple web mafia 
â–² â–¼
 🤯👀🥰🔥👌ðŸ¼
nostr:nevent1qqs9xzrlasmnzyklfsl968cmr53ggua4tagpyhwkh5mypaq3etfwtngpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhsygzsm98u9kzcp35zkpc62shck8335gqtq5yt4w26xwl0pp2a72qavvpsgqqqqqqslacsxw 
â–² â–¼
 Have you tried ssh? What is the rtt? 
â–² â–¼
 👀👀👀
nostr:nevent1qqs9xzrlasmnzyklfsl968cmr53ggua4tagpyhwkh5mypaq3etfwtngpzamhxue69uhhyetvv9ujuurjd9kkzmpwdejhgtczypgdjn7zmpvqc6ptqud9gtutrcc6yq9s2z96h9dr80hss4wl9qwkxqcyqqqqqqgvpxhvg 
â–² â–¼
 Super! Just tried it. It works! 
â–² â–¼
 Does that mean the mint is on the phone? 🤔
nostr:nevent1qqs9xzrlasmnzyklfsl968cmr53ggua4tagpyhwkh5mypaq3etfwtngpr4mhxue69uhkummnw3ezucnfw33k76twv4ezuum0vd5kzmp0qgs9pk20ctv9srrg9vr354p03v0rrgsqkpggh2u45va77zz4mu5p6ccrqsqqqqqpgvphdr 
â–² â–¼
 So basically the HTTPS encryption is based not on certificates but on nostr keys? Therefore the relay cannot see the content of the connection? 
 It's normal https based on SSL. Otherwise it wouldn't work with anything other than custom software. 
â–² â–¼
 So you still need to use certificates and be bound to certificate authorities, unless you use a self signed one and trust it?

So basically this is "only" (I mean it's a lot) an alternative way to reach a web site? And does the website still need to have a public IP or is the NWS component "pulling" the connection from the relay somehow? 
â–² â–¼
 Obviously the browser will complain about the hostname not matching the certificate.  
 It will match the hostname: you visit google.com, you get google's cert, but the traffic goes over nostr (through a socks proxy). 
â–² â–¼
 I'm refering to the nprofile hostname 
 Oi #nostr

Finally!!! It's time to run a Twitter clone...

Yes, I'm shitposting.
nostr:nevent1qqs9xzrlasmnzyklfsl968cmr53ggua4tagpyhwkh5mypaq3etfwtngprfmhxue69uhhq7tjv9kkjepwve5kzar2v9nzucm0d5hsygzsm98u9kzcp35zkpc62shck8335gqtq5yt4w26xwl0pp2a72qavvpsgqqqqqqs9se2ql 
â–² â–¼
 nostr:nevent1qqs9xzrlasmnzyklfsl968cmr53ggua4tagpyhwkh5mypaq3etfwtngpzpmhxue69uhkummnw3ezumt0d5hsygzsm98u9kzcp35zkpc62shck8335gqtq5yt4w26xwl0pp2a72qavvpsgqqqqqqsf90eee 
â–² â–¼
 Vibes. https://i.nostr.build/iOk2VsUoNmeYFEsF.jpg 
 with flatpack and webhooks 
â–² â–¼
 You got me at cashu mints with encryption. Yum! 
â–² â–¼
 Bro.  
â–² â–¼
 Can someone pls ELI5? 🤷â€â™‚ï¸  
 hope this helps

nostr:note1uk728fkpgt8qqe2a9gylc9af5e4kjkyr05f3c04zpv8jgzwu9s6qpks74v 
 And I presume dedpluication on the exit nodes is done as per any nostr client would? 
 
â–² â–¼
 👀 
 so theres a nostr based name resolution in the relay side? And you need to announce the relay that host the webapp (that most probably has his static ip)? That seems to reimplement dns on upper layer, doesnt go beyond it. Or I lost something? 
If I correctly understood, I see two advantages here:
1) every npub can sign their own entry on the hash-table to be reachble without requiring third party dns-like trust.
2) ip static decorrelated from webapps for a better censorship resistance. 
 The current design is for internal "nostr services" only which doesn't need name resolution, the npub is the target.

In the next stage, it will allow connecting to the Internet at which point the DNS resolution at the entry node must probably be intercepted and replaced by the npub of the exit relay. 
â–² â–¼
 And how does the entry node know which relay hosts the npub service? 
â–² â–¼
 I love it! 
â–² â–¼
 I can already do this using holepunch tech. 
â–² â–¼
 Nostr wins. 
â–² â–¼
 If I figure out how to do this myself I’ll eat an entire chocolate cake to celebrate. 
â–² â–¼
 same 
â–² â–¼
 I might eat it anyway. 
â–² â–¼
 Sounds cool don’t understand it all but I know it’s important! Keep up the good work! 
â–² â–¼
 Stunning... 😳 😳 😳  
â–² â–¼
 Feels like #nostr killing #tor to me - anybody have the same impressions?

nostr:note12vy8lmphxyfd7np7t503k8fzs3em2h6szfwad0fkgr6prjkjuhxsddyprj  
â–² â–¼
 👇👇👇Cool beans.👇👇👇
nostr:nevent1qqs9xzrlasmnzyklfsl968cmr53ggua4tagpyhwkh5mypaq3etfwtngpzpmhxue69uhk2tnwdaejumr0dshsygzsm98u9kzcp35zkpc62shck8335gqtq5yt4w26xwl0pp2a72qavvpsgqqqqqqsgazm40 
â–² â–¼
 Oh my! that's huge and super exciting 
â–² â–¼
 It works! 🤯 
â–² â–¼
 Replace everything with Nostr! 
â–² â–¼
 Not sure I fully get it, but why not just use encrypted notes with some commands for the mints, something like nip46?  
â–² â–¼
 >  you can host any existing web application on Nostr

in what sense? it looks like this is just a proxy for notes, couldn't this be achieved with a simple https server + api? plz explain ;_; 
â–² â–¼
 Magic beans. 
 I don't understand the question. What's a proxy for notes? Http server + API? 

Check the curl command.  
â–² â–¼
 OMG, this is BIG, huge! Now I only need to deep dive to fully understand this. 
â–² â–¼
 Its amazing watching what looks like the birth of a whole new internet. I'm pumped!

nostr:note12vy8lmphxyfd7np7t503k8fzs3em2h6szfwad0fkgr6prjkjuhxsddyprj  
â–² â–¼
 Can you give a rundown of how this actually works? I am struggling with so many parts… 

What does “bringing TCP†have to do with http hosting? They are two totally different layers. 

How is data actually hosted? *is it hosted*? Or just relayed from an actual http host? Is this what you mean by TCP? That the relay will relay socket data? That’s… questionable… could lead to all sorts of misuse?

Thoroughly confused. 
 It's tcp. Http just runs on top of that.

It's a web service like any other web service. Except it's only reachable via nostr. 
â–² â–¼
 So.. we can build websites that cannot be taken down now, if I'm understanding correctly? When thepiratebay on nostr? 😀  
â–² â–¼
 Nice haha, so it's basically like TOR, just using NOSTR. 
 hope this helps

nostr:note1uk728fkpgt8qqe2a9gylc9af5e4kjkyr05f3c04zpv8jgzwu9s6qpks74v 
â–² â–¼
 Very helpful. Gracias! 
â–² â–¼
 Ah… and also you can have a single npub “address†resolve any of N servers, as well?

If so, that’s huge! Root btc nodes need to be on this pronto in addition to dns. 
â–² â–¼
 This is big 🤯

Nostr is not for social media.  It's the ENTIRE web ðŸŒ

As the old web drowns in waves of AI generated spam, only Nostr will survive. A web without centralized choke points. A web with authenticity where every note is signed. A web that's machine payable by default. 

Buckle up amigos. We're sailing to the new world much faster than I realized. Feeling lucky to be alive to witness and be part of this! 𓅦 🚀 ⚡⛵

nostr:note12vy8lmphxyfd7np7t503k8fzs3em2h6szfwad0fkgr6prjkjuhxsddyprj  
â–² â–¼
 https://m.primal.net/JUNR.png  
 It shall come soon sir 
 I'm forwarding every single sat to the Cashu dev working of this project. 
â–² â–¼
 are you holding a fundraiser at the geyser for this project? 
â–² â–¼
 This looks amazing, I have a stupid question. Would something like this circumvent the China’s firewall ? :) 
â–² â–¼
 Sounds incredible. Bullish af. Appreciate you ser 🫡 
â–² â–¼
 > bringing TCP to Nostr

I'm not quite sure what this means.

Client-relay communication is accomplished via WebSockets, which is built on top of HTTP, which is built on top of TCP.

So we're building TCP on top of TCP? 
â–² â–¼
 just like NFS, SMTP, and everything else lol 
â–² â–¼
 technically, websockets are just a way to switch to TCP after starting with HTTP 
â–² â–¼
 So...still TCP on top of TCP 🤣 
â–² â–¼
 I get the significance of web service discovery through relays (which seems to be what this NWS is?), but I'm scratching my head wondering if Nostr is the best tool for solving the problem. 
â–² â–¼
 nostr is a weakly consistent distributed system... discovery is a normie way of saying "finding the relevant data that is not strongly consistent) and said data is indeed, such things as user identities (npub) and relay addresses 
â–² â–¼
 Also 100% 
â–² â–¼
 nope, it's raw

you have to manage your own pings, it's in the spec but you have to handle making and receiving them and timing out connections

oh yeah, they can manage configurable compression options, that's automated, i don't think there is very much other than this 
â–² â–¼
 https://datatracker.ietf.org/doc/html/rfc6455

i'm gonna sit and read this, and i think you should too, because we use this all day long 
â–² â–¼
  Conceptually, WebSocket is really just a layer on top of TCP that
   does the following:

   o  adds a web origin-based security model for browsers

   o  adds an addressing and protocol naming mechanism to support
      multiple services on one port and multiple host names on one IP
      address

   o  layers a framing mechanism on top of TCP to get back to the IP
      packet mechanism that TCP is built on, but without length limits

   o  includes an additional closing handshake in-band that is designed
      to work in the presence of proxies and other intermediaries
 
â–² â–¼
 https://datatracker.ietf.org/doc/rfc9220/

this might be interesting too... it's basically reworking websockets to work over QUIC transports (which is UDP @ChipTuner @Michael J  ) 
â–² â–¼
 yeah, it's basically the same as TCP except, mostly, the rigmerole of handshake and disconnect, and that you can send either binary or text frames, everything else is optional... maintaining a ping to detect loss of connection is application level, but conventional 
â–² â–¼
 yes, and there is a framing scheme for text vs binary 
â–² â–¼
 Thanks for this!  Gonna give it a read. 
â–² â–¼
 there is a version for QUIC/HTTP/3 https://www.rfc-editor.org/rfc/rfc9220.html

one big difference is that http/3 has built in scheme for multiplexing connections so this is quite cool for nostr as it means you could auth on one stream and bind it to the multiplexed connection and not need to auth for each stream - most clients start up multiple sockets, 2 or 3 at least often sit open for an hour or more if you walk away 
â–² â–¼
 A crappy VPN really. There is a reason VPNs use UDP datagrams 
â–² â–¼
 i think the thing is that the nostr should just be a weakly consistent data store for relay and service addresses

creating tunnels should definitely stay on another protocol layer 
â–² â–¼
 %100!!!!

The amount of crazy stuff I never though was possible just by having publicly available database secured with some math is unreal. 

An extremely solid spec to just focus on that ability and were living the dream! 
â–² â–¼
 yeah, it's really important to keep domains separated, i'm sure you know well what happens when you write code that handles too many contingencies and then you realise you forgot one and it breaks the whole thing

when it would have worked better if you made it into a layer cake with simple parts that are related in each layer and passing data between the layers to enable the complex behaviour 
â–² â–¼
 👀 
â–² â–¼
 I don't get the point of doing this 
â–² â–¼
 Soo, it's like TOR? How does NWS route the request through its web of relays? In other words, how does the entry node know which NOSTR relay is hosting the nprofile service? 
â–² â–¼
 nprofiles have relay pointers encoded into them.  
â–² â–¼
 This is a pretty cool hack, I loved it! 

But if the goal is to keep the server hidden from the public internet, wouldn't it be easier to link a .onion address or something alike in the kind 0 event? Seems more efficient and less spammy to relays  
â–² â–¼
 Impressive!

Between this and the ZK txs for Bitcoincooking, what a month! 


nostr:nevent1qqs9xzrlasmnzyklfsl968cmr53ggua4tagpyhwkh5mypaq3etfwtngppemhxue69uhkummn9ekx7mp0qgs9pk20ctv9srrg9vr354p03v0rrgsqkpggh2u45va77zz4mu5p6ccrqsqqqqqpg5uuju 
â–² â–¼
 This is huge indeed !! Need to study that more deeply. Thank you 
â–² â–¼
 Looks cool! I don't know yet what I personally would use it for, but sweet you got it up running with SSL ðŸ˜
 
â–² â–¼
 Anyone interested in this needs to know that you can do this with Holepunch: https://holesail.io/

nostr:note12vy8lmphxyfd7np7t503k8fzs3em2h6szfwad0fkgr6prjkjuhxsddyprj  
â–² â–¼
 🥕 🥕 🥕 🥕  
â–² â–¼
 It works. On a mac. Out of the box. 😳

curl -s -x socks5h://relay.8333.space:8882 https://nprofile1qqs8a8nk09fhrxylcd42haz8ev4cprhnk5egntvs0whafvaaxpk8plgpzemhxue69uhhyetvv9ujuwpnxvejuumsv93k2g6k9kr/v1/info --insecure | jq 
{
  "name": "\"Cashu NWS mint\"",
  "pubkey": "0296d0aa13b6a31cf0cd974249f28c7b7176d7274712c95a41c7d8066d3f29d679",
  "version": "Nutshell/0.15.3",
  "description": "\"This Cashu test mint has no public IP address and can only be reached via NWS powered by Nostr\"",
  "contact": [
    [
      "",
      ""
    ]
  ],
  "nuts": {
    "4": {
      "methods": [
        {
          "method": "bolt11",
          "unit": "sat"
        }
      ],
      "disabled": false
    },
    "5": {
      "methods": [
        {
          "method": "bolt11",
          "unit": "sat"
        }
      ],
      "disabled": false
    },
    "7": {
      "supported": true
    },
    "8": {
      "supported": true
    },
    "9": {
      "supported": true
    },
    "10": {
      "supported": true
    },
    "11": {
      "supported": true
    },
    "12": {
      "supported": true
    }
  }
} 
 that's the idea!  
â–² â–¼
 Expected having to move to Linux and run a bunch of apt-get's and package incompatibility resolutions first. This really works. So cool 😎 
â–² â–¼
 Truly zap-worthy 🤓 
â–² â–¼
 Shut up and take my traffic! 
â–² â–¼
 --insecure 
â–² â–¼
 Godsend you are! Thank you for the PoW 🫡 
â–² â–¼
 any minimal working sample websites hosted like this yet? 
â–² â–¼
 cool 🤙💜 
â–² â–¼
 I give this 6 months until it's used to stream porn. 
â–² â–¼
 You are so fucking pessimistic dude, I give it 2 months, lol. 😂 
â–² â–¼
 Great thing for the next web 👠
â–² â–¼
 Is there anything preventing the NWS relay from doing a MITM attack?  I guess you could take the result from curl and check the nostr signature, but curl alone is unsafe right? 
â–² â–¼
 ok, I am functionally retarded and need a hand understanding. what would be some examples of things this could revolutionise? 
â–² â–¼
 Isn't this a normal server with extra steps? This would bring more traffic and means more bandwidth for the Nostr relays.

 
â–² â–¼
 Don't all nostr relays use DNS? How do you bootstrap around that? 
â–² â–¼
 Unpopular opinion: Absolutely terrible idea

Nostr-web-services is just ngrok / cloudflared with extra steps and more concerns about safety.

1. The things you expose are public; hackers can find you and see whatever you are hosting.

2. You DO NOT OWN your web service if the name servers are not under your control.

Whoever owns the name server is the prime authority, and they can inject whatever they want into your website.

Imagine out of 10 relays, even one of them injects your website with a code to steal passwords and you happen to use that relay (YOU ARE COMPROMISED!!)

It is as dangerous as port forwarding / dynamic DNS with extra concerns about integrity. 

When I say "as dangerous as port forwarding", I think I am explaining it casually, but in reality, this is far more dangerous and concerning.

Just two days ago when I was looking into issues with port forwarding / dynamic DNS / Nostr-web-services, I discovered: 

1. THREE THOUSAND (3k!!!!) Tesla with open information about their home coordinates, their kid's school, drop location, their workplace, their exact address, if their Tesla is active or not.

2. 6K + Camera with a full recording of the whole month, installed in people's personal—-BEDROOM--, baby monitor. 

There is no excuse for self-hosting irresponsibly; it should be done to increase your privacy and security, not to increase the risk.

Holesail provides a way to achieve this peak self-privacy and security. You expose only what you 🫵 choose, and only the person you want can access it, with no chances of a man-in-the-middle attack from a random relay and their DNS hosting.

I like how enthusiastic people are about Nostr and Nostr-based services, but we should NOT overlook the security and risks some of these ideas might bring!

https://m.primal.net/JWdi.png 

 @TheGuySwann 

nostr:note12vy8lmphxyfd7np7t503k8fzs3em2h6szfwad0fkgr6prjkjuhxsddyprj  
â–² â–¼
 So this is SOCKS5 over JSON messages over Websockets over HTTP over TCP/IP... did I miss any layers?

Cool stuff, but I don't know how viable this will be in the long run. 
â–² â–¼
 Interesting...
nostr:nevent1qqs9xzrlasmnzyklfsl968cmr53ggua4tagpyhwkh5mypaq3etfwtngpz9mhxue69uhkummnw3ezuamfdejj7q3q2rv5lskctqxxs2c8rf2zlzc7xx3qpvzs3w4etgemauy9thegr43sxpqqqqqqzcydrym 
â–² â–¼
 I started with $1000 and, after just 6 hours of investing, I was able to turn it into $6,000. This opportunity is completely legitimate and safe to invest in. I am grateful to my coach who helped guide me through this process. If you are interested in seeing similar results, make sure to DM him now and start earning. 
â–² â–¼
 Cashu wallet mobile connected to a personal cashu mint via Nostr Web Services. No need to connect your own node over Tor. Mobile device only has access to a subset of the funds.
Could this provide a better self-sovereign mobile lightning experience?
nostr:nevent1qvzqqqqqqypzq5xeflpdskqvdq4swxj59793uvdzqzc9pzatjk3nhmcg2h0js8trqywhwumn8ghj7mn0wd68ytndw46xjmnewaskcmr9wshxxmmd9uq3vamnwvaz7tm9v3jkutnwdaehgu3wd3skuep0qqs9xzrlasmnzyklfsl968cmr53ggua4tagpyhwkh5mypaq3etfwtngrn76dh 
â–² â–¼
 Regarding communication between apps possibilities:

nostr:nevent1qqs9xzrlasmnzyklfsl968cmr53ggua4tagpyhwkh5mypaq3etfwtngpz4mhxue69uhhyetvv9ujumn0wd68ytnzvuhsygzsm98u9kzcp35zkpc62shck8335gqtq5yt4w26xwl0pp2a72qavvpsgqqqqqqsq67rfy 
 watch me blossom you sad hater  
 ah yes, intellectual words of wisdom 
 bro. calm down. stop harassing me. you're a good dev, just keep doing what you're doing. what's up with all the hate? 
 look. this is the first time I'll engage directly with you as a person, and it's also the last time if nothing comes out of it. I remember you joined the Cashu channel with a lot of excitement and great ideas around a year ago. you were positive, supportive, helpful to others and shared your knowledge with everyone. 

at some point, there was a conflict with nothingmuch which had nothing to do with you, you weren't even involved in the situation. just a bystander. however, you decided to completely flip in that moment, rage quit the channel, and from that day on, you kept reappearing and spreading hate, fud, and stupid insults. it's so tiring and cheap. I never interacted with you that whole time. today I have a great relationship with nothingmuch, we discussed what happened and got over it like normal people. we do seminars together now. we work on shit.

so I'm telling you this to make it clear, whatever the fuck your beef is or was, there is no need for it. if you want to engage in a constructive way, I'll be happy about it. I think you're a capable and smart dev with very interesting ideas. more people should learn from you and know about your work.

however, if you keep insisting on hateful communication, I'll just resume back to ignoring you and return back to complete indifference. I would prefer the former.