]> git.codecow.com Git - nano-pow.git/log
nano-pow.git
6 months agoMerge branch 'release/v5.1'
Chris Duncan [Sun, 21 Sep 2025 22:40:11 +0000 (15:40 -0700)]
Merge branch 'release/v5.1'

6 months agoPatch version. v5.1.7
Chris Duncan [Sun, 21 Sep 2025 22:38:28 +0000 (15:38 -0700)]
Patch version.

6 months agoEliminate self-reference to allow esbuild to generate anonymous class.
Chris Duncan [Sun, 21 Sep 2025 22:37:02 +0000 (15:37 -0700)]
Eliminate self-reference to allow esbuild to generate anonymous class.

6 months agoExtract build prep into its own script.
Chris Duncan [Sun, 21 Sep 2025 21:54:03 +0000 (14:54 -0700)]
Extract build prep into its own script.

7 months agoMerge branch 'release/v5.1'
Chris Duncan [Mon, 25 Aug 2025 14:55:19 +0000 (07:55 -0700)]
Merge branch 'release/v5.1'

7 months agoMerge branch 'release/v5.1'
Chris Duncan [Mon, 25 Aug 2025 14:54:32 +0000 (07:54 -0700)]
Merge branch 'release/v5.1'

7 months agoPatch version. v5.1.6
Chris Duncan [Mon, 25 Aug 2025 14:50:41 +0000 (07:50 -0700)]
Patch version.

7 months agoAdd utility method to clear work cache.
Chris Duncan [Mon, 25 Aug 2025 14:50:01 +0000 (07:50 -0700)]
Add utility method to clear work cache.

7 months agoUpdate dependencies.
Chris Duncan [Mon, 25 Aug 2025 14:49:40 +0000 (07:49 -0700)]
Update dependencies.

7 months agoPatch version. v5.1.5
Chris Duncan [Fri, 15 Aug 2025 22:01:20 +0000 (15:01 -0700)]
Patch version.

7 months agoUpdate dependencies.
Chris Duncan [Fri, 15 Aug 2025 21:58:54 +0000 (14:58 -0700)]
Update dependencies.

7 months agoSpecify backing buffer per new built-in type definitions.
Chris Duncan [Fri, 15 Aug 2025 21:57:48 +0000 (14:57 -0700)]
Specify backing buffer per new built-in type definitions.

7 months agoRemove redundant browser field causing Webpack bundling issues.
Chris Duncan [Fri, 15 Aug 2025 21:50:05 +0000 (14:50 -0700)]
Remove redundant browser field causing Webpack bundling issues.

9 months agoMerge branch 'release/v5.1'
Chris Duncan [Sun, 29 Jun 2025 07:39:26 +0000 (00:39 -0700)]
Merge branch 'release/v5.1'

9 months agoPatch version. v5.1.4
Chris Duncan [Sun, 29 Jun 2025 07:37:38 +0000 (00:37 -0700)]
Patch version.

9 months agoFix type of optional options parameters.
Chris Duncan [Sun, 29 Jun 2025 07:36:09 +0000 (00:36 -0700)]
Fix type of optional options parameters.

9 months agoMove API support types to config file that uses it and remove redundant type.
Chris Duncan [Sun, 29 Jun 2025 07:35:17 +0000 (00:35 -0700)]
Move API support types to config file that uses it and remove redundant type.

9 months agoPatch version. v5.1.3
Chris Duncan [Sun, 29 Jun 2025 05:47:03 +0000 (22:47 -0700)]
Patch version.

9 months agoType unknown is not enough to mark property as optional.
Chris Duncan [Sun, 29 Jun 2025 05:45:26 +0000 (22:45 -0700)]
Type unknown is not enough to mark property as optional.

9 months agoMerge branch 'release/v5.1'
Chris Duncan [Fri, 27 Jun 2025 07:45:43 +0000 (00:45 -0700)]
Merge branch 'release/v5.1'

9 months agoPatch version. v5.1.2
Chris Duncan [Fri, 27 Jun 2025 07:43:23 +0000 (00:43 -0700)]
Patch version.

9 months agoRemove AssemblyScript build artifacts from tracking. Add license headers for REUSE...
Chris Duncan [Fri, 27 Jun 2025 07:41:09 +0000 (00:41 -0700)]
Remove AssemblyScript build artifacts from tracking. Add license headers for REUSE compliance.

9 months agoMerge branch 'release/v5.1'
Chris Duncan [Fri, 27 Jun 2025 07:20:46 +0000 (00:20 -0700)]
Merge branch 'release/v5.1'

9 months agoPatch version. v5.1.1
Chris Duncan [Fri, 27 Jun 2025 07:19:10 +0000 (00:19 -0700)]
Patch version.

9 months agoFix CDN URLs on test page.
Chris Duncan [Fri, 27 Jun 2025 07:19:04 +0000 (00:19 -0700)]
Fix CDN URLs on test page.

9 months agoMerge branch 'release/v5.1'
Chris Duncan [Fri, 27 Jun 2025 07:07:36 +0000 (00:07 -0700)]
Merge branch 'release/v5.1'

9 months agoUpdate version. v5.1.0
Chris Duncan [Fri, 27 Jun 2025 07:00:40 +0000 (00:00 -0700)]
Update version.

9 months agoRefactor BLAKE2b codegen.
Chris Duncan [Fri, 27 Jun 2025 00:54:38 +0000 (17:54 -0700)]
Refactor BLAKE2b codegen.
Combine API-specific blake code generation files into one abstracted script.
Reset hashes between score benchmark runs so it doesn't pull from cache.

9 months agoMerge branch 'release/v5.0'
Chris Duncan [Sat, 21 Jun 2025 06:23:00 +0000 (23:23 -0700)]
Merge branch 'release/v5.0'

9 months agoPatch version. release/v5.0 v5.0.5
Chris Duncan [Sat, 21 Jun 2025 06:20:43 +0000 (23:20 -0700)]
Patch version.

9 months agoFix WASM in puppeteer.
Chris Duncan [Sat, 21 Jun 2025 06:17:08 +0000 (23:17 -0700)]
Fix WASM in puppeteer.
The puppeteer browser instance loads NanoPow with a script and includes CSP. While it specifically uses WebGPU for performance, it was discovered that WASM would not load due to missing required CSP directives, so they have been added.
The reduced WASM iteration count has been reverted since it seems to be an issue with Firefox and not Chromium.
Adjust logging.

9 months agoMerge branch 'release/v5.0'
Chris Duncan [Sat, 21 Jun 2025 04:21:25 +0000 (21:21 -0700)]
Merge branch 'release/v5.0'

9 months agoPatch version. v5.0.4
Chris Duncan [Fri, 20 Jun 2025 09:23:44 +0000 (02:23 -0700)]
Patch version.

9 months agoFix WASM workers.
Chris Duncan [Fri, 20 Jun 2025 08:55:58 +0000 (01:55 -0700)]
Fix WASM workers.
Worker was removing listener when stopped but was then deaf to main thread, so restore listener after posting its message back.
Reduce WASM module iterations to get results more often from slower hardware.

9 months agoMerge branch 'next/ishex-utility'
Chris Duncan [Thu, 19 Jun 2025 07:32:26 +0000 (00:32 -0700)]
Merge branch 'next/ishex-utility'

9 months agoAdjust output of server GET response.
Chris Duncan [Thu, 19 Jun 2025 07:31:19 +0000 (00:31 -0700)]
Adjust output of server GET response.

9 months agoSubstitute regular expressions in tool scripts with utility functions.
Chris Duncan [Thu, 19 Jun 2025 07:28:27 +0000 (00:28 -0700)]
Substitute regular expressions in tool scripts with utility functions.

9 months agoAdd utilities to check hex values.
Chris Duncan [Thu, 19 Jun 2025 07:28:00 +0000 (00:28 -0700)]
Add utilities to check hex values.

9 months agoMerge branch 'next/cache-work'
Chris Duncan [Wed, 18 Jun 2025 22:28:06 +0000 (15:28 -0700)]
Merge branch 'next/cache-work'

9 months agoExtend test blockhash table.
Chris Duncan [Wed, 18 Jun 2025 22:23:45 +0000 (15:23 -0700)]
Extend test blockhash table.

9 months agoLimit cache to 1000 items for performance.
Chris Duncan [Wed, 18 Jun 2025 21:40:57 +0000 (14:40 -0700)]
Limit cache to 1000 items for performance.

9 months agoLog cache hits.
Chris Duncan [Wed, 18 Jun 2025 20:57:30 +0000 (13:57 -0700)]
Log cache hits.

9 months agoMerge branch 'main' into next/cache-work
Chris Duncan [Wed, 18 Jun 2025 20:48:32 +0000 (13:48 -0700)]
Merge branch 'main' into next/cache-work

9 months agoPrint results of each validate self-check.
Chris Duncan [Wed, 18 Jun 2025 20:47:32 +0000 (13:47 -0700)]
Print results of each validate self-check.

9 months agoCreate Cache class and implement at top level of work_generate call chain.
Chris Duncan [Wed, 18 Jun 2025 20:47:08 +0000 (13:47 -0700)]
Create Cache class and implement at top level of work_generate call chain.

9 months agoMerge branch 'release/v5.0'
Chris Duncan [Wed, 18 Jun 2025 20:41:23 +0000 (13:41 -0700)]
Merge branch 'release/v5.0'

9 months agoPatch version. v5.0.3
Chris Duncan [Wed, 18 Jun 2025 20:39:28 +0000 (13:39 -0700)]
Patch version.

9 months agoPatch version. v5.0.2
Chris Duncan [Wed, 18 Jun 2025 20:24:18 +0000 (13:24 -0700)]
Patch version.

9 months agoIncrease checkbox margin on test page.
Chris Duncan [Wed, 18 Jun 2025 20:23:19 +0000 (13:23 -0700)]
Increase checkbox margin on test page.

9 months agoLabel logger groups to remove from prod builds.
Chris Duncan [Wed, 18 Jun 2025 20:22:58 +0000 (13:22 -0700)]
Label logger groups to remove from prod builds.

9 months agoAdd script to ease dev builds.
Chris Duncan [Wed, 18 Jun 2025 20:22:10 +0000 (13:22 -0700)]
Add script to ease dev builds.

9 months agoUnblock CPU loop.
Chris Duncan [Wed, 18 Jun 2025 20:21:44 +0000 (13:21 -0700)]
Unblock CPU loop.
CPU work_generate now returns a promise and iterates a limited loop before re-calling itself on the next animation frame. This unblocks the main thread and allows the environment to reload properly, i.e. refresh the browser tab.

9 months agoMerge branch 'release/v5.0'
Chris Duncan [Wed, 18 Jun 2025 14:49:38 +0000 (07:49 -0700)]
Merge branch 'release/v5.0'

9 months agoPatch version. v5.0.1
Chris Duncan [Wed, 18 Jun 2025 14:49:16 +0000 (07:49 -0700)]
Patch version.

9 months agoUpdate test page import URLs.
Chris Duncan [Wed, 18 Jun 2025 14:48:57 +0000 (07:48 -0700)]
Update test page import URLs.
Try loading locally first for development, then get latest patch for specified version.

9 months agoMove server execution into npm script.
Chris Duncan [Wed, 18 Jun 2025 14:29:42 +0000 (07:29 -0700)]
Move server execution into npm script.
This simplifies the bash script. It also allows the example systemd service to use a Type of "simple" and eliminates the PIDFile requirement. The console output is unnecessary when using systemd since the expectation is that logs go to the journal only.

9 months agoMove server execution into npm script.
Chris Duncan [Wed, 18 Jun 2025 14:29:42 +0000 (07:29 -0700)]
Move server execution into npm script.
This simplifies the bash script. It also allows the example systemd service to use a Type of "simple" and eliminates the PIDFile requirement. The console output is unnecessary when using systemd since the expectation is that logs go to the journal only.

9 months agoUse version-specific CDN for test page in release branch.
Chris Duncan [Tue, 17 Jun 2025 21:14:18 +0000 (14:14 -0700)]
Use version-specific CDN for test page in release branch.

9 months agoMerge branch 'v5.0'
Chris Duncan [Tue, 17 Jun 2025 21:01:55 +0000 (14:01 -0700)]
Merge branch 'v5.0'

9 months agoRelease version. v5.0.0
Chris Duncan [Tue, 17 Jun 2025 19:37:01 +0000 (12:37 -0700)]
Release version.

9 months agoUpdate dependencies.
Chris Duncan [Tue, 17 Jun 2025 19:36:00 +0000 (12:36 -0700)]
Update dependencies.

9 months agoSleep service startup a bit longer to allow server to spin up.
Chris Duncan [Tue, 17 Jun 2025 19:33:39 +0000 (12:33 -0700)]
Sleep service startup a bit longer to allow server to spin up.

9 months agoDocument --score in man page.
Chris Duncan [Tue, 17 Jun 2025 19:25:07 +0000 (12:25 -0700)]
Document --score in man page.

9 months agoAdd new score CLI option to test script.
Chris Duncan [Tue, 17 Jun 2025 19:16:37 +0000 (12:16 -0700)]
Add new score CLI option to test script.

9 months agov4 will not be updated.
Chris Duncan [Tue, 17 Jun 2025 19:12:39 +0000 (12:12 -0700)]
v4 will not be updated.

9 months agoFix scoring metric.
Chris Duncan [Tue, 17 Jun 2025 13:03:06 +0000 (06:03 -0700)]
Fix scoring metric.

9 months agoWrite PID file from within server instead of launch script.
Chris Duncan [Mon, 16 Jun 2025 21:52:01 +0000 (14:52 -0700)]
Write PID file from within server instead of launch script.

9 months agoAdd --score option to CLI to calculate work-per-second.
Chris Duncan [Mon, 16 Jun 2025 20:56:52 +0000 (13:56 -0700)]
Add --score option to CLI to calculate work-per-second.

9 months agoRemove fake server call that is no longer needed.
Chris Duncan [Mon, 16 Jun 2025 20:25:07 +0000 (13:25 -0700)]
Remove fake server call that is no longer needed.

9 months agoMove server exit out of execution and into process management.
Chris Duncan [Mon, 16 Jun 2025 19:49:20 +0000 (12:49 -0700)]
Move server exit out of execution and into process management.

9 months agoDefine type for result from stats function.
Chris Duncan [Mon, 16 Jun 2025 19:48:43 +0000 (12:48 -0700)]
Define type for result from stats function.

9 months agoChange logging on test page score function.
Chris Duncan [Mon, 16 Jun 2025 18:45:58 +0000 (11:45 -0700)]
Change logging on test page score function.

9 months agoGenerate one zero-difficulty nonce to compile. Add parameters from page to score...
Chris Duncan [Mon, 16 Jun 2025 17:51:39 +0000 (10:51 -0700)]
Generate one zero-difficulty nonce to compile. Add parameters from page to score function. Reorganize options section.

9 months agoAdd scoring function to test page and start at 100 runs of 100 samples.
Chris Duncan [Mon, 16 Jun 2025 15:01:55 +0000 (08:01 -0700)]
Add scoring function to test page and start at 100 runs of 100 samples.

9 months agoRemove unused variable.
Chris Duncan [Mon, 16 Jun 2025 13:33:57 +0000 (06:33 -0700)]
Remove unused variable.

9 months agoFix config silently failing due to type assertion if no options object is passed.
Chris Duncan [Mon, 16 Jun 2025 13:33:46 +0000 (06:33 -0700)]
Fix config silently failing due to type assertion if no options object is passed.

9 months agoUpdate thread count messaging on test page.
Chris Duncan [Mon, 16 Jun 2025 13:03:08 +0000 (06:03 -0700)]
Update thread count messaging on test page.

9 months agoReduce default effort for server.
Chris Duncan [Mon, 16 Jun 2025 13:02:56 +0000 (06:02 -0700)]
Reduce default effort for server.

9 months agoUpdate effort recommendation.
Chris Duncan [Mon, 16 Jun 2025 13:02:43 +0000 (06:02 -0700)]
Update effort recommendation.

9 months agoStrip logs always, unless in dev env.
Chris Duncan [Sun, 15 Jun 2025 22:11:55 +0000 (15:11 -0700)]
Strip logs always, unless in dev env.

9 months agoStrip logger statements if building for prod.
Chris Duncan [Sun, 15 Jun 2025 22:08:48 +0000 (15:08 -0700)]
Strip logger statements if building for prod.

9 months agoRemove result buffer overwrite because it will be overwritten by output buffer at...
Chris Duncan [Sun, 15 Jun 2025 21:54:23 +0000 (14:54 -0700)]
Remove result buffer overwrite because it will be overwritten by output buffer at the end of the dispatch anyway.

9 months agoWrite seed only during GPU dispatch.
Chris Duncan [Sun, 15 Jun 2025 21:41:07 +0000 (14:41 -0700)]
Write seed only during GPU dispatch.

9 months agoImplement double-buffering for GPU.
Chris Duncan [Sun, 15 Jun 2025 08:22:37 +0000 (01:22 -0700)]
Implement double-buffering for GPU.

9 months agoAdd section in README explaining effort.
Chris Duncan [Sun, 15 Jun 2025 05:59:28 +0000 (22:59 -0700)]
Add section in README explaining effort.

9 months agoAdd release note about GL quad buffering.
Chris Duncan [Sun, 15 Jun 2025 05:20:09 +0000 (22:20 -0700)]
Add release note about GL quad buffering.

9 months agoWhitespace.
Chris Duncan [Sun, 15 Jun 2025 04:27:46 +0000 (21:27 -0700)]
Whitespace.

9 months agoUpdate dependencies.
Chris Duncan [Sun, 15 Jun 2025 04:24:26 +0000 (21:24 -0700)]
Update dependencies.

9 months agoChange port to both avoid common testing port e.g. Live Preview extension and to...
Chris Duncan [Sun, 15 Jun 2025 04:15:00 +0000 (21:15 -0700)]
Change port to both avoid common testing port e.g. Live Preview extension and to still test non-default port setting.

9 months agoAdd man page content about error objects.
Chris Duncan [Sat, 14 Jun 2025 19:29:15 +0000 (12:29 -0700)]
Add man page content about error objects.

9 months agoAdd release note about error handling.
Chris Duncan [Sat, 14 Jun 2025 19:24:42 +0000 (12:24 -0700)]
Add release note about error handling.

9 months agoUpdate README.
Chris Duncan [Sat, 14 Jun 2025 18:52:48 +0000 (11:52 -0700)]
Update README.

9 months agoAdd v5 release notes.
Chris Duncan [Sat, 14 Jun 2025 18:43:50 +0000 (11:43 -0700)]
Add v5 release notes.

9 months agoAdd and update available APIs.
Chris Duncan [Sat, 14 Jun 2025 18:41:48 +0000 (11:41 -0700)]
Add and update available APIs.
Add WASM and CPU implementations.
Add API options parameter.
Add scripts to generate shaders and AssemblyScript.
Add sample systemd service for server.
Add Logger and Queue utility classes.
Fix CLI and server IPC.
Add WorkErrorResponse type.
Improve type checking and config checking.
Move generate APIs into their own directory.

10 months agoPatch version. v4.1.7
Chris Duncan [Tue, 6 May 2025 21:53:31 +0000 (14:53 -0700)]
Patch version.

10 months agoPatch version. v4.1.6
Chris Duncan [Tue, 6 May 2025 21:49:26 +0000 (14:49 -0700)]
Patch version.

10 months agoExtract some basic shared code into utils file and bundle it. Simplify lib exports...
Chris Duncan [Tue, 6 May 2025 21:41:36 +0000 (14:41 -0700)]
Extract some basic shared code into utils file and bundle it. Simplify lib exports. Introduce new typings for server config and PoW results. Clean up CLI and fix some minor issues. Limit Node heap to improve CLI and server performance. Refactor server to extract code into manageable helper functions, improve organization, and fix some minor issues. Restrict difficulty to maximum of network difficulty to mitigate DoS attacks. Merge shared code in work calls in GPU implementation and extract it into modular functions. Implement work queue to better manage inbound requests. Fix nonce check in compute shader. Fix test page benchmark results from not being sorted properly. Update server test script.

11 months agoPatch version. v4.1.5
Chris Duncan [Tue, 22 Apr 2025 22:53:01 +0000 (15:53 -0700)]
Patch version.

11 months agoIn CLI, capture logging from spawned server process. In compute shader, fix difficult...
Chris Duncan [Tue, 22 Apr 2025 21:52:14 +0000 (14:52 -0700)]
In CLI, capture logging from spawned server process. In compute shader, fix difficulty comparison of low bits, reduce workgroup size to 64, and update doc comments. In GPU, fix bug in load loop that checks for the GPU device, share bind group as static variable between pipelines, dispatch once on setup to compile and cache shader prior to actual work calls, save compute results in static variable to reduce memory footprint, lower timeout when tool is busy, allow difficulty of zero, eliminate a Math.random() call by implementing a sliding randomness value for the search seed, and throw an error if work to validate does not match nonce returned by compute result. In launch script, add max HTTP header size limit to protect server process. In test script, check more generate calls. In package, reduce run size of benchmark. In server, replace temp file for puppeteer page with intercepted HTTPS request to gain secure context for WebGPU, send logs over IPC to CLI, implement more constants for attack vector protection, add rate limiter using tokens per IP address, tweak error messaging, cache NanoPow library in puppeteer handle, split work calls by action for puppeteer evaluation, tweak puppeteer browser launch flags, and explicitly listen on localhost.

11 months agoPatch version. v4.1.4
Chris Duncan [Mon, 14 Apr 2025 16:33:51 +0000 (09:33 -0700)]
Patch version.