1.2 KiB
README.md contains high-level project information.
justfile contains common commands.
Codebase Overview
-
zooid/config.go: Defines
Configstruct with TOML tags for relay configuration (self, groups, management, blossom, roles, data). ContainsLoadConfig()function andIsMember()method. -
zooid/http.go: Simple HTTP handler that calls
GetInstance()and delegates to khatru relay. -
zooid/instance.go: Core instance management.
Instancestruct holds config and khatru relay.MakeInstance()creates configured relay instances with handlers.GetInstance()provides singleton access with lazy loading. -
zooid/blossom.go: Blossom file storage integration with member-only access controls.
-
zooid/util.go: Environment variable utilities with
Env()function. -
cmd/relay/main.go: HTTP server entry point with graceful shutdown.
SQLite EventStore
The sqlite/ directory contains a complete SQLite-based khatru eventstore implementation.
nostrlib API Compatibility
Event.Sigis[64]byte, not a separate Signature typeEvent.CreatedAtisnostr.Timestamp(int64), nottime.Time- Use
hex.EncodeToString(evt.Sig[:])for signature serialization - Use
hex.DecodeString()andcopy()for signature parsing