Yes native Swift, I was learning Swift/SwiftUI as well while building it, the source code is here: https://github.com/nostur-com/nostur-ios-public

Reply to this note

Please Login to reply.

Discussion

👍Thanks

@Fabian Great write-up on MISSION.md "We don’t need to store our data on random relays, and hope our contact list doesn’t get lost, or leak metadata to the public. We can store everything on our device". This is EXACTLY what I was thiking for my app. Have a small database like SQLite on the device and load that first. Then query relays for updates. Have a standard import/export format for Nostr that different clients can use. Have this format be an official NIP . This format could be as simple as a linear array of EVENTS in JSON format. This is what I use in my dev database, as you can see a "database" can be as simple as 100 lines of code, with functions to read(), save(), append() and request(), (from relays) @melvincarvalho @fiatjaf @Will @jack https://github.com/pedro-vicente/nostr_client_relay/blob/main/src/database.cc

nostr:npub1n0sturny6w9zn2wwexju3m6asu7zh7jnv2jt2kx6tlmfhs7thq0qnflahe Great write-up on MISSION.md "We don’t need to store our data on random relays, and hope our contact list doesn’t get lost, or leak metadata to the public. We can store everything on our device". This is EXACTLY what I was thiking for my app. Have a small database like SQLite on the device and load that first. Them query relays for updates. Have a standard import/export format for Nostr that different clients can use. Have this format be an official NIP . This format could be as simple as a linear array of EVENTS in JSON format. This is what I use in my dev database, as you can see a "database" can be as simple as 100 lines of code, with functions to read(), save(), append() and request(), (from relays) nostr:npub1melv683fw6n2mvhl5h6dhqd8mqfv3wmxnz4qph83ua4dk4006ezsrt5c24 nostr:npub1xtscya34g58tk0z605fvr788k263gsu6cy9x0mhnm87echrgufzsevkk5s nostr:npub180cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsyjh6w6 nostr:npub1sg6plzptd64u62a878hep2kev88swjh3tw00gjsfl8f237lmu63q0uf63m https://github.com/pedro-vicente/nostr_client_relay/blob/main/src/database.cc

yep I’m using sqlite too now, through CoreData. Seems nostrdb will be great too when ready but for me the database is not the performance bottleneck right now

Also looking forward to try nostrdb, I’m doing (slowly doing) a Windows / Cmake port. It seems the latest benchmarks are very good nostr:npub1xtscya34g58tk0z605fvr788k263gsu6cy9x0mhnm87echrgufzsevkk5s In my case I have no real DB, and the bottleneck is the time to query relays. For 1 relay only it takes about 4 seconds to get a feed of about 20 follows. But I guess there is not much room here for improvement because of the decentralized nature. So, the idea of having all locally cached in DB, and query asynchronously in background, for example https://github.com/pedro-vicente/nostrdb