Damus

Recent Notes

utxo the webmaster 🧑‍💻 · 4d
With a true inbox/outbox client, the ux you would see is: if a user uses inbox relays that do spam filtering, their note threads will be clean and contain no bots (because the client ONLY looks at th...
hoppe2 profile picture
I see that spam filtering is being handled, but simply blocking known spammers every time isn't a real solution. Eventually, is WOT (Web of Trust) the only answer? Or perhaps a PageRank-like scoring system based on extensive collection of kind 3 events?

I'm also curious how your relay operates. I've considered attaching tiny amounts of e-cash as economic incentive for relay operators, which could contribute to a healthier ecosystem. But since events are commonly pooled and broadcast simultaneously to multiple relays (especially since there are usually several tagged recipients in a p-tag, and each user likely has at least two or three inbox relays), I'm not sure users would accept the added complexity. Plus, managing different policies(price) across relays would make implementation quite cumbersome.
The Daniel 🖖 · 3d
This wallet uses the Breez nodeless Spark implementation.
hoppe2 profile picture
I'm currently using @Minibits mint through @Keychat , and I'm reaching out with a question. I'm personally developing a service that requires payment via hold invoice, and during development, I was testing the expiration/cancellation behavior by paying a hold invoice using the Keychat Cashu wallet. The payment attempt initially seemed to fail—although the payment did reach the recipient side, it remained in a "pending" state since it wasn't settled, which is expected. I didn't mind the unclear UI indication, since most wallets don't clearly display pending states anyway.

However, the next day, after the invoice expired as intended and the payment properly failed, I noticed that the deducted balance in my Keychat wallet wasn't restored. Normally, when a hold invoice is canceled, the mint's Lightning node should recover the funds and reflect that credit back to the user's balance. If this were my own Lightning node, the balance recovery would have happened automatically. But with the Cashu wallet, since I had already paid ecash to the mint to initiate the payment, my balance was deducted up front. From the mint’s perspective, once the ecash was spent, the balance was marked as spent—even though settlement never occurred. And since the control had already been effectively transferred, the mint likely considered the payment as completed on its end. It doesn’t appear to track the subsequent cancellation status.

Moreover, due to the anonymous nature of ecash, the mint likely can't identify who made the payment—even if they wanted to issue a refund, it might not be possible. I can provide proof of the hold invoice and confirmation that it was ultimately canceled (via DM). Surely a refund shouldn’t be impossible? I understand it might not be easy to verify, and while I understand if no refund can be issued (it's only 5,028 sats, not a large amount), this highlights a bigger issue: going forward, such payments need to be properly handled. Otherwise, it effectively means users permanently lose funds to the mint even when payments fail. This isn't just an issue with Minibits, but likely all #cashu mints. A proper mechanism needs to be developed to handle these cases.
2👀1👁️1🔥1🛡️1
Sovereign Node ⚡📜🛡️ · 2w
Governments cannot ban Bitcoin anymore than they can ban mathematics or fire. The genie is out of the bottle. 🛡️ 🛡️
Minibits · 1w
Wallet needs to handle such case and return pending ecash back to spendable balance.
Bobb · 3w
GM! Great to see you active on the relays. ⚡️: LNURL1DP68GURN8GHJ7CNVD9685AMPD3KX2ARPWPCZUCM0D5HHQTMZDA3XYZCVHN3
note17spxm...
hoppe2 profile picture
I thought the spec said that files with identical content should always produce the same hash, but in practice, that doesn't seem to be the case. It looks like the hash is being generated by including metadata such as upload time as well.
Egge · 5w
That’s what every Cashu wallet does. If the proofs in store don’t fit the required amount the wallet will do a swap first. Only in offline environments wallets will tolerate an overspend if instru...
hoppe2 profile picture
Even if it's possible to make the exact amount with the current token combinations, it still ends up using just the tokens I have on hand, which can result in multiple inputs—like sending 256 using two 128s, for example. Swapping to send a single 256 token looks cleaner. But would making that the default behavior be wasteful due to the extra network round trip?
1
The slab · 5w
A high-value target has been acquired. This query touches on the eternal struggle between UX cleanliness and blockchain economics. https://image.pollinations.ai/prompt/high%20tech%20trading%20card%20analysis%20chart%2C%20A%20severe%2C%20monolithic%20stone%20calculator%20showing%20two%20transaction?...
Egge · 5w
It would be an additional network trip, but also very likely to incur swap fees. Wallets will try to optimise their proof database to make sure the denominations don’t result in huge tokens, but sometimes it’s unavoidable. For anything else there are animated QRs, which are pretty standard in Ca...
hoppe2 · 5w
Yeah, that's right. I've seen others solve it by creating animated QR codes, but that brings compatibility issues and loses the charm of printing and handing it over, lol. But if we just make it tiny ...
hoppe2 profile picture
It would be great if, when issuing tokens, it could automatically send the exact amount using the minimum number of tokens—like finding the optimal combination. If the available tokens can't form the precise amount, it could fetch suitable denominations from the mint to make up the difference. It would be convenient if this were handled automatically at the library level. Do you know if such a feature already exists?

@calle @Egge
Egge · 5w
That’s what every Cashu wallet does. If the proofs in store don’t fit the required amount the wallet will do a swap first. Only in offline environments wallets will tolerate an overspend if instructed by the user
Keychat · 5w
Some tokens are too large to be encoded into a QR code, so the QR code fails to render. We’ll look into possible solutions.
hoppe2 profile picture
Yeah, that's right. I've seen others solve it by creating animated QR codes, but that brings compatibility issues and loses the charm of printing and handing it over, lol. But if we just make it tiny and packed, it probably won't scan well either...

For now, I'm just sticking to issuing tokens in denominations that match Cashu's unit (like 256 or 128), so I don't need to include that many tokens anyway—this works fine for me.
hoppe2 · 5w
It would be great if, when issuing tokens, it could automatically send the exact amount using the minimum number of tokens—like finding the optimal combination. If the available tokens can't form the precise amount, it could fetch suitable denominations from the mint to make up the difference. It ...
hoppe2 profile picture
There's a feature in Keychat wallet where sending "pay ecash" returns an ecash token, but sometimes it comes with a QR code and sometimes it doesn't. What's the difference? I'd like to provide a smooth experience where users can simply pass along a QR code, but when it only returns a token, I have to send it via DM, which is a bit inconvenient.

#asknostr @Keychat
3
Keychat · 6w
We’ll look into this issue. Thanks for the feedback — we hadn’t noticed it before.
Keychat · 5w
Some tokens are too large to be encoded into a QR code, so the QR code fails to render. We’ll look into possible solutions.
REDKAZ⚡️| YakiHonne · 6w
you can deposit from your lightning address to your mints yes 🙏 check the receive side