From 7706acaafa89691dba33c216e6287a8405c4c302 Mon Sep 17 00:00:00 2001 From: polwex Date: Tue, 18 Nov 2025 08:32:45 +0700 Subject: gui fixes to nostr post rendering, added nostr-tools lib for primal compatibility --- gui/src/logic/nostr.ts | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 gui/src/logic/nostr.ts (limited to 'gui/src/logic/nostr.ts') 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) -- cgit v1.2.3