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

Reply to this note

Please Login to reply.

Discussion

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. nostr:npub1sdnq9yr3kwzaauhylwty6ttnum6zgcf34s0lwcythjcew8zss8fqlm45zq nostr:npub1nj0v6ly23sc5ftjghap9kevjerjncwzlmqehd48lklm2cxshh74sge88gs

https://github.com/cashapp/nostrino

There’s also the Rust SDK, which has bindings to Kotlin. Unsure about its state either. nostr:npub1drvpzev3syqt0kjrls50050uzf25gehpz9vgdw08hvex7e0vgfeq0eseet

https://github.com/rust-nostr/nostr

Lastly, nostr:npub1gcxzte5zlkncx26j68ez60fzkvtkm9e0vrwdcvsjakxf9mu9qewqlfnj5z 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. nostr:npub1nj0v6ly23sc5ftjghap9kevjerjncwzlmqehd48lklm2cxshh74sge88gs and a few others built nostr:npub1plasmahqry63jkfw3lwyucut64srprzkm5dnk0ura6sf7fxnjqsqju5z7h 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

🙏🏼

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