Avatar
jb55
32e1827635450ebb3c5a7d12c1f8e7b2b514439ac10a67eef3d9fd9c5c68e245
I made damus, npubs, and zaps ⚡️ Independent bitcoin core and lightning dev.

He hand squeezed 3lbs of lemons for his first lemonade stand. Proof of work.

the amount of work to do that would be quite large, for a bitcoin model which I’m not even sure will work reliably at scale. I will wait to see how it plays out first.

All my characters were out of spell slots and we were outnumbered inside of a steel foundary, my barbarian quaffs haste and proceeds to throw every single enemy into a boiling crucible of metal.

dnd is the greatest… I have a gaming buddy now, maybe I can recruit nostr:npub1h50pnxqw9jg7dhr906fvy4mze2yzawf895jhnc3p7qmljdugm6gsrurqev in on a campaign 😅 family dnd nights should be a thing.

started a wholesome #bg3 campaign with the son. he chose the dark urge and already bit gale’s hand off. Off to rough start but who likes gale anyways.

gm nostr

genuinely curious why, i haven’t met anyone who likes inapp browsers before

I really hope new windows laptops don’t have that pre installed 😅

Loaded up for Elliott’s first entrepreneurial endeavour: popsicle/ice cream stand. We even have a square reader and everything ready to go 😁

One way to do it (but its not currently that common) is to check the relay field of the user's nip05. I added this to nip05 for this exact purpose. Then all you need to do is get the user to insert their nostr address to login.

Another way is to get the user to insert their nprofile when logging in, which provides the client with a list of relays to bootstrap from.

Some clients ask the user to explicitly choose relays they would like to bootstrap from. I find this not very user friendly so I don't do this method.

Some clients use a fixed relay list to bootstrap from.

Many different approaches you can take.

Replying to Deleted Account

As a way to further encourage the projects that are being introduced here, and even being an nostr:npub12vkcxr0luzwp8e673v29eqjhrr7p9vqq8asav85swaepclllj09sylpugg enthusiast; I am considering entering the members area by subscription of nostr:npub18m76awca3y37hkvuneavuw6pjj4525fw90necxmadrvjg0sdy6qsngq955, on a monthly basis (purple). 𓅦

The main objective of this initiative of mine is to make the team even more motivated - while in a more privileged way, the praise for the most loyal developers are reflected in financing and providing more momentum, for this entire community of ours.

thanks! yes it is a motivator. once we hit a certain number of subscriptions we can start hiring more people. We are bootstrapping and don't have VC funding so it's the only way we'll be able to grow the team.

Replying to Avatar jb55

awesome!

you can do this without putting anything onchain by using silent payments and an encrypted note on nostr that lets the recipient know what output is being spent. much nicer for utxo privacy.

The fact that they can push kernel drivers at will without permission. insanity. 🤦‍♂️

Makes sense why I’ve been seeing ads for this fucking game for like a year now. The only question now is why. The cash stacks of these mobile game companies 🤯

Monetization happens through clients. Relays are just a business expense, not even the highest compared to paying employees.

Replying to Avatar Lea

nostr:npub1xtscya34g58tk0z605fvr788k263gsu6cy9x0mhnm87echrgufzsevkk5s nostr:npub1wmr34t36fy03m8hvgl96zl3znndyzyaqhwmwdtshwmtkg03fetaqhjg240 nostr:npub12vkcxr0luzwp8e673v29eqjhrr7p9vqq8asav85swaepclllj09sylpugg at victor poloma or whatever, all the assholes who have #nostr apps that have added zaps nostr:note10222hyxqg6mu34mqjm0w54mfgkcf5kapz8sywuktmcwx4lhwxcws8cwpj9

why are you sending this then? this is a signal sent through the air. stop murdering children.

yeah we will do that, should be easy to increase the search results to like 1000 instead of 20

Replying to Avatar calle

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

```

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.

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.

> 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 ;_;

You create subscriptions on nostrdb, but they are just threadsafe queues of pointers to binary notes in the db instead of json and websockets and all that.

The idea is that you create remote subscriptions like normal, but the results of those subscriptions are only dumped into nostrdb.

nostrdb has a super efficient de-duping threadpool note processor. Any new incoming note matching a local subscription will be pushed to the subscription queues. They can be then polled or you can register a callback.

You can even do privacy stuff like open a remote global filter, and have local subscriptions that try to match notes without leaking any queries on the relay. This is a bit more bandwidth intensive of course.

There is a lot that goes into building a microblogging nostr client, i am suddenly reminded of this when building another one from scratch 😅

Some of the hardest things:

- tagging (requires a good local db and complex ui to pull off correctly)

- thread rendering (many ways to do it, sometimes hard to represent the tree structure on small screens)

- notification views with all of the relevant information grouped together

- note parsing and note embeds, note stats collecting (likes, bolt11 parsing for amounts, etc)

- mechanisms for fetching missing notes as they appear inside other notes

- countless other crap i am likely forgetting

Respect to devs who can do this without giving up. remember, hard is fun!

I initially thought so but its kind of how I’m building microapps within damus notedeck already, just need to figure out the drawing apis and a way to load these apps dynamically (wasm, etc)

Feels like I’m heading toward there 🤔 i think this basically ends up recreating the web with a different set of apis, so maybe there is an opportunity to do something simpler with a more direct rendering interface.

I'm talking about private nostr on stage. local relay model has some interesting privacy benefits though:

https://github.com/damus-io/notedeck/issues/152

also happy to chat in person about it. I think it's pretty important for implementing the outbox model safely.

Replying to Avatar Purple Horse

I’m not on Graphene, iOS here.

I still miss included gif support in clients. Not sure if any client already has it integrated, but I know many developers like nostr:npub1xtscya34g58tk0z605fvr788k263gsu6cy9x0mhnm87echrgufzsevkk5s and nostr:npub16c0nh3dnadzqpm76uctf5hqhe2lny344zsmpm6feee9p5rdxaa9q586nvr are already busy as hell with building all other new features. Nostr is still quite young. In the early days on Twitter you also couldn’t even upload images, so let’s give it some more time. Gif support isn’t the most important thing, but it would definitely be a great addition.

Personally I’m now mostly uploading to nostr:npub1nxy4qpqnld6kmpphjykvx2lqwvxmuxluddwjamm4nc29ds3elyzsm5avr7

https://plebhy.com was / is a project for Nostr gifs but hasn’t been integrated into clients (yet). Hope it will be added as a feature soon.

What if we have a notedeck tablet as a permanent fixture on the wall in our living room

I’m no security expert but the fact they did not have someone on this rooftop is insane to me. It’s one of the closest rooftops with LoS!?

The only thing I could think of is that they hesitated because they were not sure if it was a friendly, but, the kid doesn’t look like one of them at all?

It’s nice knowing big tech is not in the middle to influence the narrative with algos nostr:note13sk6q00snq4z3lsfvyf9r370anh75ntgntxgy0dgr22ma3ccsh0qvtm7xm

it entirely depends on your expertise level. I made it as easy as possible by providing https://sendsats.lol and by writing a zapper script that you can run next to your CLN node, but people don't even run a lightning node to begin with.

The main issue I was thinking of is using these in other protocols. You couldn’t really use these to unlock content or accept a DM, etc.

It seems like you would have to take extra steps to get a receipt of *real* payment. You would have to initiate a swap with a trusted mint. With a lightning zap i know my node sent it so it’s real right when I receive it.

Thinking about it some more, maybe the ideal ux is not showing the ecash as valid until it’s been auto-swapped into your mint of trust? nostr:note1gxhgmpc5k8ep0m2zyjn97q2wx32zp7dez0zlpzsvtxu8drzd3f4qrf400v

Just my Linux desktop at home. I have my lightning port exposed on my static ip at home. I use this to route on lightning and to connect to my node remotely to use it as a wallet via commando/lnlink/lnsocket

Replying to Avatar 450f1fea...

Hey nostr:npub1xtscya34g58tk0z605fvr788k263gsu6cy9x0mhnm87echrgufzsevkk5s,

Although I share your enthusiasm, it's also good to ask, "Coud I be wrong?" which leads to researching other opinions.

I found the article below about the inevitable centralisation of Lightning, which means... in our enthusiasm, we are just recreating the Fiat network with easy central control and censorship.

Only those who delve into the Lightning network will be able to understand the intricacies. It's not easy and many will never understand it. Opening channels for example, or the inability to move sats to BTC self custody once the BTC price and mining fees move higher.

We hope that developers will solve these issues, but as they do, they are building a highly centralised network with big nodes (Wallet of Satoshi, Acinq, Binance, Kraken etc) that are easily co-opted by government. BTC exchanges already require KYC, what if big Sat hubs are next?

https://medium.com/@jonaldfyookball/mathematical-proof-that-the-lightning-network-cannot-be-a-decentralized-bitcoin-scaling-solution-1b8147650800

Links to thorough articles refuting the article above are highly welcome.

People who want to sovereignty on lightning can run their own node. At the end of the day this is all that matters, and what lightning achieves. I run my own node, zap out of it, run my business out of it. It is working as intended.

If people choose custodial solutions that’s on them. I use custodial wallets alongside my node. The other day I just moved some of my node’s sats into wallet of satoshi to pay for something because my direct-to-cln wallet wasn’t installed at the time. It’s a flexible systems that enables lots of different use cases at different levels of custodianship.

The reason I prefer lightning over things like liquid, etc is that at the end of the day it has a feature called unilateral exits, which always allows you go to back on chain. The FUD around how lightning centralizes bitcoin is bizarre to me, it’s just a tool for setting up onchain bitcoin to be utilized more efficiently and with lower fees.

You can always recover base-layer decentralization via unilateral or cooperative exits if you need it, so the FUD is nonsense.

my mind was blown when i ate cherry tomatoes from our garden for the first time 🤯