diff options
| author | polwex <polwex@sortug.com> | 2025-11-18 08:32:45 +0700 |
|---|---|---|
| committer | polwex <polwex@sortug.com> | 2025-11-18 08:32:45 +0700 |
| commit | 7706acaafa89691dba33c216e6287a8405c4c302 (patch) | |
| tree | 504d49fd289c6f4f6f5494395ddd4089a057efc9 /gui/src/logic/nostr.ts | |
| parent | b3379cc108d6eed98cb0010e6f1ddca94aba83a2 (diff) | |
gui fixes to nostr post rendering, added nostr-tools lib for primal compatibility
Diffstat (limited to 'gui/src/logic/nostr.ts')
| -rw-r--r-- | gui/src/logic/nostr.ts | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/gui/src/logic/nostr.ts b/gui/src/logic/nostr.ts new file mode 100644 index 0000000..b85047f --- /dev/null +++ b/gui/src/logic/nostr.ts @@ -0,0 +1,33 @@ +// import { generateSecretKey, getPublicKey } from "nostr-tools/pure"; +import * as nip19 from "nostr-tools/nip19"; +import type { Event } from "@/types/nostr"; + +export function generateNevent(event: Event) { + const evp: nip19.EventPointer = { + id: event.id, + author: event.pubkey, + kind: event.kind, + }; + const nev = nip19.neventEncode(evp); + return nev; +} + +// let sk = generateSecretKey() +// let nsec = nip19.nsecEncode(sk) +// let { type, data } = nip19.decode(nsec) +// assert(type === 'nsec') +// assert(data === sk) + +// let pk = getPublicKey(generateSecretKey()) +// let npub = nip19.npubEncode(pk) +// let { type, data } = nip19.decode(npub) +// assert(type === 'npub') +// assert(data === pk) + +// let pk = getPublicKey(generateSecretKey()) +// let relays = ['wss://relay.nostr.example.mydomain.example.com', 'wss://nostr.banana.com'] +// let nprofile = nip19.nprofileEncode({ pubkey: pk, relays }) +// let { type, data } = nip19.decode(nprofile) +// assert(type === 'nprofile') +// assert(data.pubkey === pk) +// assert(data.relays.length === 2) |
