nostr:nprofile1qqsrhuxx8l9ex335q7he0f09aej04zpazpl0ne2cgukyawd24mayt8gprfmhxue69uhhq7tjv9kkjepwve5kzar2v9nzucm0d5hszxmhwden5te0wfjkccte9emk2um5v4exucn5vvhxxmmd9uq3xamnwvaz7tmhda6zuat50phjummwv5hsx7c9z9 nostr:nprofile1qqs04xzt6ldm9qhs0ctw0t58kf4z57umjzmjg6jywu0seadwtqqc75spz4mhxue69uhhyetvv9ujuerpd46hxtnfduhsz9mhwden5te0wfjkccte9ec8y6tdv9kzumn9wshszxnhwden5te0wpuhyctdd9jzuenfv96x5ctx9e3k7mf0dv4ph5 maybe?

nostr:nevent1qqs8kyyyze69c37y0mmqudxgue8wwhkejatt9azzys3vrh7cefct7hgpzdmhxue69uhhwmm59e6hg7r09ehkuef0qgsrhryh46fgduqj20z03r2z69hgtrrujfgn40e08qj34lm3x52teesrqsqqqqqpfev3a9

Reply to this note

Please Login to reply.

Discussion

These are the indexes: https://github.com/hoytech/strfry/blob/master/golpe.yaml#L24-L47 (all the indexes have the created_at timestamp as a suffix). Now the query part I don't understand exactly how it works on strfry when you are querying for multiple different things.

I've used a similar scheme for the indexes here: https://github.com/fiatjaf/eventstore/blob/98cbffec7cc64773633c392de351586402418b7b/lmdb/helpers.go#L55-L139. But my query code is so complicated I don't even understand it myself anymore: https://github.com/fiatjaf/eventstore/blob/98cbffec7cc64773633c392de351586402418b7b/lmdb/query.go (it was simpler before, but nostr:npub1fjqqy4a93z5zsjwsfxqhc2764kvykfdyttvldkkkdera8dr78vhsmmleku complained I was using a bunch of goroutines unnecessarily so I did this and the performance has improved a lot).

But since you're starting from scratch and you're not afraid of including C dependencies on your Haskell app, I recommend trying to embed nostr:npub1xtscya34g58tk0z605fvr788k263gsu6cy9x0mhnm87echrgufzsevkk5s's https://github.com/damus-io/nostrdb as it's made for this and more optimized for clients rather than relays.

Thanks, will take a look. But I'm already 90% done, just want to peak and see if I missed something and compare. Appreciate the hint.