diff --git a/deno.json b/deno.json index a552b644..58edb3e3 100644 --- a/deno.json +++ b/deno.json @@ -7,7 +7,8 @@ "debug": "deno run -A --unstable-ffi --inspect src/server.ts", "test": "DB_PATH=\":memory:\" deno test -A --unstable-ffi", "check": "deno check src/server.ts", - "relays:sync": "deno run -A --unstable-ffi scripts/relays.ts sync" + "relays:sync": "deno run -A --unstable-ffi scripts/relays.ts sync", + "nsec": "deno run -A --unstable-ffi scripts/nsec.ts" }, "exclude": ["./public"], "imports": { "@/": "./src/", "@soapbox/nspec": "jsr:@soapbox/nspec@^0.8.1", "~/fixtures/": "./fixtures/" }, diff --git a/scripts/nsec.ts b/scripts/nsec.ts new file mode 100644 index 00000000..cbef7c7c --- /dev/null +++ b/scripts/nsec.ts @@ -0,0 +1,16 @@ +import { generateSecretKey, nip19 } from '@/deps.ts'; + +switch (Deno.args[0]) { + default: { + const encodedNsec = generateEncodedPrivateKey(); + console.log(encodedNsec); + Deno.exit(0); + } +} + +function generateEncodedPrivateKey(): string { + const sk = generateSecretKey(); + const nsec = nip19.nsecEncode(sk); + + return nsec; +} diff --git a/src/deps.ts b/src/deps.ts index 2e5130e9..52275260 100644 --- a/src/deps.ts +++ b/src/deps.ts @@ -19,6 +19,7 @@ export { nip13, nip19, nip21, + generateSecretKey, type UnsignedEvent, type VerifiedEvent, } from 'npm:nostr-tools@^2.3.1';