//! SPDX-FileCopyrightText: 2025 Chris Duncan <chris@zoso.dev>
//! SPDX-License-Identifier: GPL-3.0-or-later
import * as crypto from 'node:crypto'
+import * as dns from 'node:dns/promises'
import * as fs from 'node:fs/promises'
import * as http from 'node:http'
+import * as os from 'node:os'
import * as puppeteer from 'puppeteer'
import { serverHelp } from '../../docs/index.js'
import { NanoPowOptions, WorkGenerateRequest, WorkGenerateResponse, WorkValidateRequest, WorkValidateResponse } from '../types.js'
})
// Listen on configured port
- server.listen(PORT, (): void => {
+ server.listen(PORT, async (): Promise<void> => {
process.title = 'NanoPow Server'
- log(`Server process ${process.pid} running at http://localhost:${PORT}/`)
+ const ip = await dns.lookup(os.hostname(), { family: 4 })
+ log(`Server process ${process.pid} running at ${ip.address}:${PORT}/`)
})
// Shut down server gracefully when process is terminated