diff options
| author | Yuval Adam <_@yuv.al> | 2022-01-10 15:05:04 +0200 |
|---|---|---|
| committer | Yuval Adam <_@yuv.al> | 2022-01-10 15:05:10 +0200 |
| commit | b1125785fe78362fe71db4b2cccd2077113fb0e9 (patch) | |
| tree | 9756d1e88be0598ffed67ad3239d2edab64b999b /nostr | |
| parent | de1515dee374f96698681320f88c29cdd1e323bb (diff) | |
Initial Event class with id hash
Diffstat (limited to 'nostr')
| -rw-r--r-- | nostr/event.py | 27 |
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() |
