summaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md29
1 files changed, 20 insertions, 9 deletions
diff --git a/README.md b/README.md
index d0ff872..8fd35c5 100644
--- a/README.md
+++ b/README.md
@@ -24,10 +24,12 @@ make build-all # Build both
24```bash 24```bash
25./bin/relay 25./bin/relay
26# or with custom settings: 26# or with custom settings:
27./bin/relay -grpc-addr :50051 -db relay.db 27./bin/relay -grpc-addr :50051 -ws-addr :8080 -db relay.db
28``` 28```
29 29
30The relay will start listening on `:50051` (gRPC). 30The relay will start:
31- **gRPC** on `:50051`
32- **WebSocket** (Nostr) on `:8080`
31 33
32### Test with Client 34### Test with Client
33 35
@@ -44,18 +46,22 @@ The relay will start listening on `:50051` (gRPC).
44# - abc123...: Hello from gRPC client! 46# - abc123...: Hello from gRPC client!
45``` 47```
46 48
47**With nak CLI:** 49**With nak CLI (gRPC):**
48```bash 50```bash
49# Pipe events from nak 51# Pipe events from nak
50nak event "Hello from nak!" | ./bin/testclient 52nak event "Hello from nak!" | ./bin/testclient
51 53
52# Or generate a signed event 54# Or generate a signed event
53nak event --sec <nsec> --kind 1 "My message" | ./bin/testclient 55nak event --sec <nsec> --kind 1 "My message" | ./bin/testclient
56```
54 57
55# Output: 58**With nak CLI (WebSocket/Nostr):**
56# Read event from stdin: abc123... 59```bash
57# Publishing event... 60# Standard Nostr clients work out of the box!
58# ✓ Event published successfully: abc123... 61nak req -k 1 --limit 10 ws://localhost:8080
62
63# Publish via WebSocket
64echo '{"kind":1,"content":"hello","tags":[]}' | nak event --sec <nsec> | nak publish ws://localhost:8080
59``` 65```
60 66
61## gRPC API 67## gRPC API
@@ -73,13 +79,18 @@ See [proto/nostr/v1/nostr.proto](proto/nostr/v1/nostr.proto) for the full API.
73 79
74## Current Status 80## Current Status
75 81
76**Phase 1: gRPC Relay** 82**Phase 1: Complete**
77- ✅ SQLite storage with binary-first design 83- ✅ SQLite storage with binary-first design
78- ✅ Event validation (ID, signature) 84- ✅ Event validation (ID, signature)
79- ✅ gRPC publish/query API 85- ✅ gRPC publish/query API
80- ✅ Subscribe/streaming (real-time event delivery) 86- ✅ Subscribe/streaming (real-time event delivery)
81- ✅ Subscription management (filter matching, fan-out) 87- ✅ Subscription management (filter matching, fan-out)
82- ⏳ WebSocket server (planned for Nostr client compatibility) 88- ✅ **WebSocket server (NIP-01) - standard Nostr clients work!**
89
90**Compatible with:**
91- Any gRPC client (custom or generated)
92- Any Nostr client (Damus, Amethyst, Snort, Iris, Gossip, etc.)
93- nak CLI for testing
83 94
84## Development 95## Development
85 96