feat: POW miner
This commit is contained in:
21
packages/system/src/pow-worker.ts
Normal file
21
packages/system/src/pow-worker.ts
Normal file
@ -0,0 +1,21 @@
|
||||
/// <reference lib="webworker" />
|
||||
|
||||
import { minePow, NostrPowEvent } from "./pow-util";
|
||||
|
||||
export interface PowWorkerMessage {
|
||||
id: string;
|
||||
cmd: "req" | "rsp";
|
||||
event: NostrPowEvent;
|
||||
target: number;
|
||||
}
|
||||
|
||||
globalThis.onmessage = ev => {
|
||||
const data = ev.data as PowWorkerMessage;
|
||||
if (data.cmd === "req") {
|
||||
queueMicrotask(() => {
|
||||
minePow(data.event, data.target);
|
||||
data.cmd = "rsp";
|
||||
globalThis.postMessage(data);
|
||||
});
|
||||
}
|
||||
};
|
Reference in New Issue
Block a user