summaryrefslogtreecommitdiff
path: root/backupdesk/sur/nostr.hoon
diff options
context:
space:
mode:
Diffstat (limited to 'backupdesk/sur/nostr.hoon')
-rw-r--r--backupdesk/sur/nostr.hoon103
1 files changed, 103 insertions, 0 deletions
diff --git a/backupdesk/sur/nostr.hoon b/backupdesk/sur/nostr.hoon
new file mode 100644
index 0000000..652a106
--- /dev/null
+++ b/backupdesk/sur/nostr.hoon
@@ -0,0 +1,103 @@
+|%
++$ keys [pub=@ priv=@]
++$ event
+$: id=@ux :: 32bytes
+ pubkey=@ux :: 32bytes
+ created-at=@ud :: seconds
+ kind=@ud
+ tags=(list tag)
+ content=@t
+ sig=@ux :: 64bytes
+==
++$ raw-event
+$: pubkey=@ux :: 32bytes
+ created-at=@ud :: seconds
+ kind=@ud
+ tags=(list tag)
+ content=@t
+==
++$ tag (list @t)
+:: $: key=@t
+:: value=@t
+:: rest=(list @t)
+:: ==
++$ user-meta :: NIP-1
+$: name=@t
+ about=@t
+ picture=@t
+ other=(map @t json)
+==
++$ relay-stats
+$: connected=(unit @da)
+ reqs=(map sub-id event-stats)
+==
++$ event-stats
+ [filters=(list filter) received=event-count]
++$ sub-id @t
++$ event-count @ud
+
++$ relay-req
+$: sub-id=@t
+ filters=(list filter)
+==
+:: Relay comms
++$ filter
+$: ids=(unit (set @ux))
+ authors=(unit (set @ux))
+ kinds=(unit (set @ud))
+ tags=(unit (map @t (set @t)))
+ since=(unit @da)
+ until=(unit @da)
+ limit=(unit @ud)
+==
+:: messages from relay
+++ relay-msg
+$% [%event sub-id=@t =event]
+ [%ok id=@ux accepted=? msg=@t]
+ [%eose sub-id=@t]
+ [%closed sub-id=@t msg=@t]
+ [%notice msg=@t]
+ [%auth challenge=@t]
+ :: from our shim
+ [%error msg=@t]
+==
+++ shim
+ |%
+ ++ url 'http://localhost:8888/shim'
+ +$ req
+ $% [%req relay-req]
+ [%event =event]
+ [%auth =event]
+ [%close sub-id=@t]
+ ==
+ +$ bulk-req [relays=(list @t) =req]
+ --
+
+:: https://github.com/sesseor/nostr-relays-list/blob/main/relays.txt
+++ public-relays ^- (list @t)
+ :~ 'wss://nos.lol'
+ :: 'wss://relay.damus.io'
+ :: 'wss://nostr.wine'
+ :: 'wss://offchain.pub'
+ ==
+ :: 'wss://knostr.neutrine.com'
+--
+:: event: {
+:: content: "😂",
+:: created_at: 1758049319,
+:: id: "36c8a0bb6a9a1ff3ca3e6868fdf2c055a09aea39b1c078b75c38f5a7b580da87",
+:: kind: 7,
+:: pubkey: "26d6a946675e603f8de4bf6f9cef442037b70c7eee170ff06ed7673fc34c98f1",
+:: sig: "7b5a9c799776935f959eccfd311af6152db6a1360296c9790b35544d0b83a8d75f8937ad1ad6f5da3e0d3e2bdb1bfb92686adbde42c3ef53ca06771080d08153",
+:: tags: [
+:: [ "e", "091d00811bb9a57088ab7c1d39697b0ed9bbbe05dae135b406f3560290fba311",
+:: "wss://relay.nostr.band/", "root", "26d6a946675e603f8de4bf6f9cef442037b70c7eee170ff06ed7673fc34c98f1"
+:: ], [ "e", "1cd926b58a1bac70adcedf38212d72ee1380e17dad1aef6bbc18782c5c540236",
+:: "wss://relay.nostr.band/", "reply", "3252715543f6e43be086465129b030d47d76cf8cead4798e48864563c3375083"
+:: ], [ "p", "26d6a946675e603f8de4bf6f9cef442037b70c7eee170ff06ed7673fc34c98f1",
+:: "wss://nostr.bitcoiner.social/"
+:: ], [ "p", "3252715543f6e43be086465129b030d47d76cf8cead4798e48864563c3375083",
+:: "ws://relay.snort.social/"
+:: ], [ "e", "b9a0c3b28a291d80bcb41ee730f2c48366fd2fefba0e68f9fb928bb9ca96f757" ], [ "p", "3252715543f6e43be086465129b030d47d76cf8cead4798e48864563c3375083" ]
+:: ],
+:: },