diff options
| author | Gab <24553253+gabrix73@users.noreply.github.com> | 2025-04-17 11:20:03 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-04-17 11:20:03 +0200 |
| commit | 306066fd87e40516abbe21e4eb85c4b5cf5193e7 (patch) | |
| tree | d1b1cbed83ed1c157915e3cb457fb77debee4d15 | |
| parent | 29361ef03be5ff890715d78d36067064fb937a2c (diff) | |
| download | m2usenet-and-mail2news-306066fd87e40516abbe21e4eb85c4b5cf5193e7.tar.gz m2usenet-and-mail2news-306066fd87e40516abbe21e4eb85c4b5cf5193e7.tar.xz m2usenet-and-mail2news-306066fd87e40516abbe21e4eb85c4b5cf5193e7.zip | |
Create powWorker.js
| -rw-r--r-- | powWorker.js | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/powWorker.js b/powWorker.js new file mode 100644 index 0000000..aba22ff --- /dev/null +++ b/powWorker.js @@ -0,0 +1,16 @@ +// /var/www/mail2usenet/powWorker.js +self.onmessage = async ({ data }) => { + const { prefix, targetZeros, startNonce, step } = data; + let nonce = startNonce, checked = 0, zeroStr = '0'.repeat(targetZeros); + while (true) { + const buf = await crypto.subtle.digest('SHA-1', new TextEncoder().encode(prefix + nonce)); + const hex = Array.from(new Uint8Array(buf)).map(b=>b.toString(16).padStart(2,'0')).join(''); + if (hex.startsWith(zeroStr)) { + return self.postMessage({ type:'found', nonce }); + } + nonce += step; + if (++checked % 1000 === 0) { + self.postMessage({ type:'progress', checked }); + } + } +}; |
