@puzzlehq/aleo-wasm-nodejs
Version:
Aleo SDK WASM
27 lines (21 loc) • 855 B
JavaScript
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);