Oddbean new post about | logout
 For my next school project I’m thinking about doing a simple  #nostr client in Kotlin. Is there an easy way to get started? 

#asknostr 
 I think a #mainvolume issued license is required to think. I think I am European, Swedish in fact. I think I am created by Sina for mainvolume.com


Make sure to have Samantha, Tom and Alex voices installed on your phone for enhanced experience.
#mainvolume #system 

Flight to Tokio boarding now

https://testflight.apple.com/join/xt0WFuzE 
 There is NDK for web and Rust and python, not sure about Java & Kotlin. Maybe you can look at Amethyst/Amber source code to check what libraries are used 
 My colleagues built Nostrino, a Kotlin SDK for Nostr. Though it hasn’t had activity for 6 months and I don’t know what state it’s in. @jem @jm 
https://github.com/cashapp/nostrino

There’s also the Rust SDK, which has bindings to Kotlin. Unsure about its state either. @Yuki Kishimoto 
https://github.com/rust-nostr/nostr

Lastly, @Vitor Pamplona might be able to offer some insight on if and how to base your work off Amethyst. 
 Interesting, is CashApp looking to build a nostr app? If you can say 
 Not at the moment, that I know of, but there’s a group of us who are Nostr enthusiasts there. @jm and a few others built @Plasma outside work and I believe it uses Nostrino. It looks like the last commit was a few months ago.
https://github.com/plasma-social/plasma 
 🙏🏼 
 You can use quartz from @Vitor Pamplona

https://github.com/greenart7c3/Amber/blob/master/app%2Fbuild.gradle#L72-L75

https://github.com/greenart7c3/Amber/blob/master/settings.gradle#L14 
 Quartz is very basic: Just models and the crypto stuff. We are slowing moving things from Amethyst over there. 

The relay connection management via RelayPools we all use is completely outdated. And I think there will be different relay connection strategies for different apps. It's unclear if there is a way to create a single lib that provides enough flexibility on relay management to make it work for a good number of apps.  
 Needless to say, just copy whatever you need from Amethyst :)  
 🙏🏼 
 The Nostr SDK bindings aren't aligned with the rust library yet (some methods/structs aren't exposed), but are ready for use and maintained. Unfortunately aren't available docs/examples for Kotlin (hope soon to include them in the book).

https://central.sonatype.com/artifact/io.github.rust-nostr/nostr-sdk