damus-io / android

Damus Android
Other
37 stars 4 forks source link

One tap zaps, LN address, and receiving zaps magically work post onboarding (fedimint) #59

Open alltheseas opened 3 months ago

alltheseas commented 3 months ago

user story

As someone who has just completed onboarding to Damus Android, I want to be able to send zaps & receive zaps, so that I can experience the full experience of nostr immediately.

acceptance criteria

Immediately upon onboarding,

  1. user automagically has a LN address, and
  2. user automagically can receive zaps (sats), and
  3. user automagically can send zaps (sats), and
  4. user can see balance (in sats)
  5. user is notified of zap receipts
  6. user has a history of zap sends
  7. user has a history of zap receipts
  8. one tap zaps are possible
  9. user cannot be rugpulled by a single user, or entity

implementation details

1) Fedimint written in Rust, which lends itself to Damus Android 2) Hermes by Kody 3) NWC

alltheseas commented 3 months ago

@kernelkind @jb55

jb55 commented 3 months ago

Suggestion from someone who worked at lightning labs:

If I may offer my 2 sats worth: having built the reference wallet at Lightning Labs in 2018/2019 and observing other apps in the ecosystem try to tame the self-custodial lightning complexity beast since then... I suspect a wise move might be to integrate a custodial ecash-only wallet in v1. Then add the self-custodial part using LDK in v2. That will allow Damus to ship quickly to compete with Primal’s custodial wallet and offer a security upgrade in v2. I suspect many users will only keep a few pocket sats in their Damus wallet for zaps initially anyway. I do like prospects of self-custody and using this as my primary mobile wallet longterm. After a certain threshold of sats the fedimint wallet could splice into the self-custody LDK wallet and allow Damus users to hold medium sized amounts.