summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* feat: add relay server and test clientbndw4 days4-0/+151
| | | | | | | | | | | | | | | | | Server (cmd/relay): - gRPC server on :50051 (configurable) - SQLite database (default: relay.db) - Graceful shutdown on SIGTERM/SIGINT Test client (cmd/testclient): - Generates key - Publishes event - Queries events back Build: - make build (relay) - make build-client (test client) - make build-all (both)
* feat: add gRPC handler with event validation and publishingbndw4 days4-0/+592
| | | | | | | | | | | Handler implementation: - EventStore interface (consumer-side) - Server with PublishEvent, QueryEvents, CountEvents, PublishBatch - pb.Event <-> nostr.Event conversion helpers - Signature and ID validation using existing nostr package - Canonical JSON generation for storage 9 tests passing
* feat: add query layer with Nostr filter to SQL conversionbndw4 days2-0/+622
| | | | | | | | | | | | | Query implementation: - QueryEvents method with filter support - Full NIP-01 filter support (ids, authors, kinds, tags, since, until, limit) - ID and pubkey prefix matching - Tag filtering using SQLite JSON functions - Multiple filter UNION support - DESC ordering by created_at - Optional canonical JSON inclusion 23 tests passing, 1322 total lines
* feat: add SQLite storage layer with binary-first event persistencebndw4 days6-0/+762
| | | | | | | | | | | | | | | Storage implementation: - Concrete type with constructor (consumer-side interfaces) - Event storage: protobuf + zstd-compressed canonical JSON - Schema: events, deletions, replaceable_events, auth_challenges, rate_limits - WAL mode, STRICT typing, optimized indexes - Methods: StoreEvent, GetEvent, GetEventWithCanonical, DeleteEvent Dependencies: - modernc.org/sqlite v1.45.0 (pure Go SQLite driver) - github.com/klauspost/compress v1.18.4 (zstd compression) 366 lines, 10 tests passing
* docs: add design documentation and examplesbndw4 days4-0/+1165
|
* chore: add generated gRPC code (protoc-gen-go v1.36.11)bndw4 days2-0/+1967
|
* feat: add Protocol Buffer definitions and build toolingbndw4 days4-0/+246
|
* feat: add Nostr protocol implementation (internal/nostr, internal/websocket)bndw4 days18-0/+3848
|
* chore: initialize Go module northwest.io/nostr-grpcbndw4 days3-0/+109