UNPKG

@puzzlehq/aleo-wasm-nodejs

Version:
27 lines (21 loc) 855 B
import { readFile } from 'node:fs/promises'; import { fileURLToPath } from 'node:url'; import { dirname, join } from 'node:path'; import initWasm from "./aleo_wasm.js"; import { parentPort } from 'node:worker_threads'; const __dirname = dirname(fileURLToPath(import.meta.url)); async function initializeWorker(initWasm) { const wasmPath = join(__dirname, 'aleo_wasm.wasm'); const wasmBuffer = await readFile(wasmPath); // Use Node.js worker thread messaging parentPort.once('message', async (data) => { const wasm = await initWasm(wasmBuffer); const { module, memory, address } = data; const exports = await wasm({ initializeHook: (init) => init(module, memory), }); parentPort.postMessage(null); exports.runRayonThread(address); }); } await initializeWorker(initWasm);