From 82277eb6d9042a0fe4e576795fc9fe1f91e2b5d1 Mon Sep 17 00:00:00 2001 From: fiatjaf Date: Mon, 17 Feb 2025 16:47:32 -0300 Subject: [PATCH] persistent KVStore on LMDB. --- main.go | 1 + nostr.go | 11 ++++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/main.go b/main.go index a97c4d0..76d9a0f 100644 --- a/main.go +++ b/main.go @@ -24,6 +24,7 @@ type Settings struct { ServiceURL string `envconfig:"SERVICE_URL"` InternalDBPath string `envconfig:"DISK_CACHE_PATH" default:"/tmp/njump-internal"` EventStorePath string `envconfig:"EVENT_STORE_PATH" default:"/tmp/njump-db"` + KVStorePath string `envconfig:"KV_STORE_PATH" default:"/tmp/njump-kv"` HintsMemoryDumpPath string `envconfig:"HINTS_SAVE_PATH" default:"/tmp/njump-hints.json"` TailwindDebug bool `envconfig:"TAILWIND_DEBUG"` RelayConfigPath string `envconfig:"RELAY_CONFIG_PATH"` diff --git a/nostr.go b/nostr.go index 20e700d..a54c960 100644 --- a/nostr.go +++ b/nostr.go @@ -10,6 +10,7 @@ import ( "github.com/fiatjaf/eventstore/lmdb" "github.com/nbd-wtf/go-nostr" "github.com/nbd-wtf/go-nostr/sdk" + lmdb_kv "github.com/nbd-wtf/go-nostr/sdk/kvstore/lmdb" ) type RelayConfig struct { @@ -48,10 +49,18 @@ func initSystem() func() { Path: s.EventStorePath, MaxLimit: DB_MAX_LIMIT, } - db.Init() + if err := db.Init(); err != nil { + panic(err) + } + + kv, err := lmdb_kv.NewStore(s.EventStorePath) + if err != nil { + panic(err) + } sys = sdk.NewSystem( sdk.WithStore(db), + sdk.WithKVStore(kv), ) return db.Close