import { bytesToHex, hexToBytes } from '@noble/hashes/utils' // already an installed dependency import { generateSecretKey, getPublicKey, finalizeEvent } from 'nostr-tools/pure' import { Relay } from 'nostr-tools/relay' import WebSocket from 'ws'; // Provide WebSocket implementation to nostr-tools global.WebSocket = WebSocket; // Generate keys (or use existing ones) //let secretKey = generateSecretKey() //let pk = getPublicKey(secretKey) //let sk = bytesToHex(secretKey) let sk = 'e8913a0b983c8678e3cce83a45ace14f6656bd06ff98803a38d72a5567e7e105'; // Create event template let eventTemplate = { kind: 1, created_at: Math.floor(Date.now() / 1000), tags: [], content: 'Hello world! Welcome to SC24!', } // Finalize and sign the event const signedEvent = finalizeEvent(eventTemplate, sk) // Connect to a relay and publish async function publishMessage() { const relay = await Relay.connect('ws://localhost:7000') console.log(`connected to ${relay.url}`) await relay.publish(signedEvent) console.log('Event published!') relay.close() } publishMessage()