summaryrefslogtreecommitdiff
path: root/nostr
diff options
context:
space:
mode:
authorYuval Adam <_@yuv.al>2022-01-10 15:05:04 +0200
committerYuval Adam <_@yuv.al>2022-01-10 15:05:10 +0200
commitb1125785fe78362fe71db4b2cccd2077113fb0e9 (patch)
tree9756d1e88be0598ffed67ad3239d2edab64b999b /nostr
parentde1515dee374f96698681320f88c29cdd1e323bb (diff)
Initial Event class with id hash
Diffstat (limited to 'nostr')
-rw-r--r--nostr/event.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/nostr/event.py b/nostr/event.py
new file mode 100644
index 0000000..17008a9
--- /dev/null
+++ b/nostr/event.py
@@ -0,0 +1,27 @@
+import hashlib
+import json
+
+from enum import Enum
+from time import time
+
+
+class EventKind(Enum):
+ SET_METADATA = 0
+ TEXT_NOTE = 1
+ RECOMMEND_SERVER = 2
+
+
+class Event:
+ def __init__(self, pubkey, content, tags=None, created_at=None):
+ self.pubkey = pubkey.lower()
+ self.created_at = created_at or int(time())
+ self.kind = 0
+ self.tags = tags or []
+ self.content = content
+ self.sig = 0
+ self.id = self.get_event_id()
+
+ def get_event_id(self):
+ data = [0, self.pubkey, self.created_at, self.kind, self.tags, self.content]
+ jd = json.dumps(data).encode("utf-8")
+ return hashlib.sha256(jd).hexdigest()