diff --git a/.gitignore b/.gitignore index 41a2578..de39e73 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ .wrangler/ node_modules/ +credentials-*.json diff --git a/scripts/setup.js b/scripts/setup.js index ef0c855..2907ea7 100644 --- a/scripts/setup.js +++ b/scripts/setup.js @@ -10,6 +10,7 @@ */ import { webcrypto } from 'crypto' +import { writeFileSync } from 'fs' // === ARGUMENT PARSING === @@ -388,6 +389,12 @@ async function notifyRelay(relayUrl, pdsHostname) { return true } +// === CREDENTIALS OUTPUT === + +function saveCredentials(filename, credentials) { + writeFileSync(filename, JSON.stringify(credentials, null, 2)) +} + // === MAIN === async function main() { @@ -440,6 +447,29 @@ async function main() { console.log(' Relay notified!') } console.log('') + + // Step 6: Save credentials + const credentials = { + handle: fullHandle, + did, + privateKeyHex: bytesToHex(keyPair.privateKey), + didKey, + pdsUrl: opts.pds, + createdAt: new Date().toISOString() + } + + const credentialsFile = `./credentials-${opts.handle}.json` + saveCredentials(credentialsFile, credentials) + + // Final output + console.log('Setup Complete!') + console.log('===============') + console.log(`Handle: ${fullHandle}`) + console.log(`DID: ${did}`) + console.log(`PDS: ${opts.pds}`) + console.log('') + console.log(`Credentials saved to: ${credentialsFile}`) + console.log('Keep this file safe - it contains your private key!') } main().catch(err => {