Replying to Avatar ciori

nostr:nprofile1qqsyvrp9u6p0mfur9dfdru3d853tx9mdjuhkphxuxgfwmryja7zsvhqpz9mhxue69uhkummnw3ezuamfdejj7qgswaehxw309ahx7um5wghx6mmd9uq3wamnwvaz7tmkd96x7u3wdehhxarjxyhxxmmd9ukfdvuv nostr:nprofile1qqs9pk20ctv9srrg9vr354p03v0rrgsqkpggh2u45va77zz4mu5p6ccpzemhxue69uhk2er9dchxummnw3ezumrpdejz7qgkwaehxw309a5xjum59ehx7um5wghxcctwvshszrnhwden5te0dehhxtnvdakz7qrxnfk

#asknostr #cashu

Is there a Kotlin library that can be used to create a Cashu wallet over Nostr (NIP-60)?

Otherwise what would you say is the best approach for a native Kotlin + Compose android app without writing the library from scratch? I am not sure whether Rust bindings and/or J2V8 for typescript libraries (NDK) is the only/correct option.

CDK ffi Kotlin bindings are working great once set up, I've implemented a wallet with it this week nostr:nprofile1qqsqfyvdlsmvj0nakmxq6c8n0c2j9uwrddjd8a95ynzn9479jhlth3gpvemhxue69uhkv6tvw3jhytnwdaehgu3wwa5kuef0dec82c33w94xwcmdd3cxketedsux6ertwecrgues0pk8xdrew33h27pkd4unvvpkw3nkv7pe0p68gat58ycrw6ps0fenwdnvva48w0mzwfhkzerrv9ehg0t5wf6k2qgnwaehxw309ac82unsd3jhqct89ejhxtcpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhsh8njvk

we've just started using it so it's early stage but you can implement a whole wallet with it and it comes with batteries included

unsure if you could make a full nip-60 wallet with it at this stage since that requires full access to the proofs database

Reply to this note

Please Login to reply.

Discussion

So is Nostr Development Kit (in typescript/javascript) currently the only option for a full NIP-60 wallet implementation? I am no cashu or dev expert, but wanted to try something out, mainly for an Android app.

Not yet, but I definitely want to add into Quartz. If you are looking into it, feel free to push that over there. I would def use it on Amethyst at some point.

Also, if you do anything with Quartz, make sure to check the full outbox branch because there are a lot of changes to the base lib.

Cdk doesn’t have a db implementation for nip60 right now it’s not a limitation of the bindings. May not be too hard to implement with nostr-sdk. Once we have that would be easy to expose to the bindings.