Oddbean new post about | logout

Notes by Erik | export

 Hi!

Following nostr:npub1m4ny6hjqzepn4rxknuq94c2gpqzr29ufkkw7ttcxyak7v43n6vvsajc2jl ‘s suggest... 
 Yeah I've been thinking about something like this for a couple years now. My first attempt was building something in top of ipfs, but that was kind of a nightmare.

At one point I scraped all of the routes from mountain project, I think I have them somewhere so it's a good "seed" to start something. 

Creating a nostr client for climbing seems like the next logical step. Zapping or sending ecash to route developers would be 🔥.  
 Being able to lock ecash to a relays npub would be awesome. 
Relays could charge tiny fees per note processed, and know in an instant that the ecash is valid and has not been double spent.  
 There are only 365 GM's in a year. Think about it. True scarcity.

GM is time.

#gmprotocol thinkboi 
 Wen ecash GM mints? 
 Fantastic. I'm glad you've made the bare bones typescript server as well. I was going down that path for the cashu file server, but now I may just fork your implementation and add some ecash capabilities on top of it! 
 I think in a year from now, all zaps on nostr will be p2pk ecash. 
 Couldn’t sleep last night, put nostr:npub1qdcakl75gd7wv0nqmmwrz09ddm5tzl7xj8lq2gclng2qzd8up5yqj... 
 Lol, I did the exact same thing. Hearing about cashu developments was just too damn exciting.  
 cashuAeyJ0b2tlbiI6W3sibWludCI6Imh0dHBzOi8vbGVnZW5kLmxuYml0cy5jb20vY2FzaHUvYXBpL3YxL0FwdEROQUJOQlh... 
 You also guarantee that the token hasn't already been spent.  An encrypted token may have been sent out multiple people, the p2pk one can only be redeemed at the mint by you.  
 Built using the blossom protocol
https://github.com/hzrd149/blossom 
 https://github.com/ebrakke/cashu-wallet/pull/2

Super rough and incomplete right now. But just wanted to get the general concept going.  
 Just as an example for now. I'm building out this cashu-wallet development kit and wanting to try it out in a lot of different scenarios. 

I might try to spin up a more complete version of it though and really put it to the test. I just don't know much about blob storage infrastructure at scale 😅 
 Exactly. I think adding payments creates more incentive for the host to act honestly.  
 Imagine being able to pay 1 sat to retrieve an imagine from blob storage. 
The micro-est of transactions. Help support either the creator of the content, or the server hosting the file. 
All anonymously. 
#ecash #cashu

nostr:nevent1qqsqty4k9sllc9e3m0mjwrt0uacpjhpygjkryrhdkwpyudvqvwjkvdcpz3mhxue69uhhyetvv9ujuerpd46hxtnfdupzq8m30r240xhza67qjpv7rjgljdq568svnsl69q0ncxa8nj2ee42eqvzqqqqqqy5d4gmp 
 402 payment required in action  
 A rough POC of a blossom blob storage server that can accept ecash to upload to the server. 

Pair this with a client that has a built in ecash wallet (like a nostr client) and you can have a self sustaining blob storage server!
 https://video.nostr.build/05eef0fa9dc5608d7d210f880d76fd551ba94db96c61372150fd6307d9963d14.mp4

#ecash #cashu #nuts 
 Rough code can be found here

https://github.com/ebrakke/cashu-wallet/pull/2 
 Imagine being able to pay 1 sat to retrieve an imagine from blob storage. 
The micro-est of transactions. Help support either the creator of the content, or the server hosting the file. 
All anonymously. 
#ecash #cashu

nostr:nevent1qqsqty4k9sllc9e3m0mjwrt0uacpjhpygjkryrhdkwpyudvqvwjkvdcpz3mhxue69uhhyetvv9ujuerpd46hxtnfdupzq8m30r240xhza67qjpv7rjgljdq568svnsl69q0ncxa8nj2ee42eqvzqqqqqqy5d4gmp 
 The server could ask for ecash with an upload request as well. Could be a good way to fund blob storage server 
 nostr:nevent1qqsqty4k9sllc9e3m0mjwrt0uacpjhpygjkryrhdkwpyudvqvwjkvdcpz3mhxue69uhhyetvv9ujuerpd46hxtnfdupzq8m30r240xhza67qjpv7rjgljdq568svnsl69q0ncxa8nj2ee42eqvzqqqqqqy5d4gmp 
 All of the code is up on GitHub as well! Any contributions are welcome
https://github.com/ebrakke/cashu-wallet 
 You could send it to someone's npub if they're setup on npub.cash
You could bet with it on https://ecash-dice.fly.dev

I'm hoping people will start to build more apps with ecash integrated! 
 Periodic Utxo consolidation is a great way to make sure you remember how do use your cold storage device.  
 If you could get 5 years fully paid to build anything you want, what would you build? 
 Enterprise grade ecash mints + supporting infrastructure.  
 Making money off all these gambling degens. The house always wins in the long run!
#ecash #nuts

https://image.nostr.build/f1a94d7da1350acb46275ef5faad125b9d38223a28e2ade816bb11d782b67c38.jpg 
 Turns out programmatically buying gift cards is not an easy thing to gain access to. Wish bitrefill would offer an API to purchase gift cards. 

Every gift card provider I've found requires a business account, and needs to "review" your application before giving you access. 

So much for my ecash -> gift card app idea... 
 Want to roll dice against a server for a chance to win some ecash? Check out https://ecash-dice.fly.dev

This a POC using the cashu-wallet SDK on both server and client. The server maintains its own cashu wallet with persistence to Redis. 

Note: this is super rough right now, don't use any real amounts of sats!

#cashu #ecash 
 These are real sats flying back and forth between client and server at the speed of light. No settlements, no waiting for routing to complete

#cashu #ecash #nuts https://video.nostr.build/e4bb65b914cd78ed21d9e45fb51bcff7bf4a9b9a1664f654b1508e0814c1523a.mp4 
 Working on a cashu wallet that aims to be framework agnostic, allowing any website to embed a cashu wallet with ease. 
Super early stages right now, feedback and contributions welcome!
https://github.com/ebrakke/cashu-wallet 
 “LOGIN WITH NOSTR” IS AN ILLUSION JUST LIKE “SENDING BITCOIN FROM AN ADDRESS” 
 Do you think client server architecture won't be able to utilize nostr for identity?
I've been thinking about this, and I feel like we have Client Relay architecture (most nostr apps), but there could also be Client Server Relay apps. 

If I just want to make an app and host it on a server, but not deal with identity management myself, I could have you sign a nostr event with some challenge and then use a session cookie like a normal client server flow. 

I just see it as another way to prove your identity to a server to access authenticated information. I don't think client relay flows will replace every usecase for an app.  
 90% of apps could just be a Google sheet 
 What if clients didn't actually deal with signing and publishing your notes?
What if a client could operate in a mode where it just produced the event template, and you scanned it as a QR code on your phone (which holds your nsec) and then your phone published the signed note?
A bit like a PSBT but for a nostr note.  
 The phone client just knows how to sign + publish notes. You could manage multiple keys there. 

Could be used to prove identity as well. A site can just present you with a challenge, and you sign the note on your phone and send it to a relay or API endpoint. 

Rather than an oauth like flow (oauth is clunky) it's more of a 2FA flow. 

Relying on browser extensions to handle nsec is a terrible experience.  
 Yeah seems like amber is what I'm thinking. Nip-46 seems needlessly complicated though. You can do so much with it, but the up front setup cost of something like an nsec bunker for the average person is a lot.  
 It'd be sweet if you could lock up ecash to the commit that closes out a GitHub issue. 
Whoever signs the commit that closes the issue could unlock the payment.  
 Workflow if maintainer is trusted:
1) maintainer creates a GitHub issue
2) maintainer assigns a cashu-address to the issue (maintainer knows SK)
3) bounties accumulate on issue
4) developer does work and closes issue
5) maintainer claims the ecash and redistributes to developer 
 What if cashu token is revoked? Should the bounty fluctuate? Should maintainer claims the token immediately and essentially "escrow" them?

Is this basically just an escrow file for locked cashu tokens? 
 Maybe something like this
1) maintainer creates a GitHub issue
2) public key created by maintainer for that issue
3) dev who wants to work on issue "claims" the issue and generates a new key, issue key + dev key (like a multi sig key)
4) cashu-address created from new key to solicit funds to do the work
5) dev does work and merges issue
6) maintainer reveals SK to dev to claim the cashu tokens. 
 Essentially the dev would wait for tokens to accrue before doing work. 
People contributing ecash can revoke the tokens at any time (e.g. maybe another dev comes along who will do it faster)

"Defunct" Tokens will never be claimed unless maintainer + dev collude and the tokens aren't revoked  
 I've concluded that npm is superior to yarn. 
 pnpm has been great. Basically npm but faster. We ditched yarn at work in favor of it. Especially the monorepo support.  
 3D printed a clone hero guitar. First time every doing soldering, and it went great!
Definitely gonna make more of these
#grownostr

https://image.nostr.build/e7cc26e3bcc7ddf98e48cce53e838f9d6ccb3f5d2624f157ed2faaec7a52accc.jpg