Feels like 99% of Cashu bug reports I get are due to wallets messing something up during transactions, mostly state-management related bugs.

It's almost never the mint. The mints are just churning on and on. Pretty neat.

Reply to this note

Please Login to reply.

Discussion

Can state-management be abstracted away by a higher level api?

That’s good to know. What wallet would you say is the most stable and reliable with the fewest bugs right now?

boardwalkcash.com

Hey, this project seems quite interesting. I have a question. From the brief amount of research that I did on this project, it seems like you send Satoshi’s to the boardwalk wallet, and it is denominated in US dollars. How is the mint able to create stable value? Do you know?

different mints do it different ways so depends on the mint. think the recommended one uses stable channels

I don’t understand what a stable channel is. I would really like to understand the technology. Is there a website that explains the topic? Or maybe a podcast?

Yes. It took a while to find all the edge cases where tokens may be lost.

It would be nice if cashu-ts had some sort of built in proof storage interface with options like browser storage or sql. With this a dev could simply initialize a wallet and call send/receive without having to worry about proofs at all.

Do you imagine this similar to CDK or Nutshell where you can provide a storage interface and if you don't, it uses a default db in the background (say indexdb when mobile, salute when node, etc?).

in general yes, not sure about having a default though. potentially a wrapper around the existing cashu-ts api that adds storage functionality while keeping the core functions the same and accessible

my experience has been that proof management is the most bug prone aspect of a wallet... storing duplicate proofs, deleting proofs before a melt is confirmed, keeping spent proofs, not getting the change, etc.

also managing things like unpaid mint quotes is cumbersome

nostr:npub1nc0ynppqh37rtulr57xjqpzmfjp58xrd4ey8896ehn9j5flg33fszrz5pa's been working on and off on a better indexDB transaction abstraction that'll make doing ecash TXs from a PWA or webapp much more reliable, will also work for cashu since it's just generic KV! https://github.com/elsirion/webkv/blob/master/src/lib.rs

The default indexdb behavior is to commit the transaction as is whenever the event loop hits a network request, so for ecash transactions that might be hitting multiple mints it's probably causing the same issues we used to see in the Fedi PWA. webkv makes indexdb transactions operate the way everyone assumes they should work haha