]> zoso.dev Git - nano-pow.git/log
nano-pow.git
2 months agoRemove deprecated methods and unused types. next/recover-execution
Chris Duncan [Fri, 28 Mar 2025 03:32:45 +0000 (20:32 -0700)]
Remove deprecated methods and unused types.

2 months agoMerge branch 'main' into next/recover-execution
Chris Duncan [Fri, 28 Mar 2025 03:31:09 +0000 (20:31 -0700)]
Merge branch 'main' into next/recover-execution

2 months agoPatch version. v4.0.9
Chris Duncan [Thu, 27 Mar 2025 21:52:02 +0000 (14:52 -0700)]
Patch version.

2 months agoFix missing crypto module required by older versions of Node.
Chris Duncan [Thu, 27 Mar 2025 21:50:41 +0000 (14:50 -0700)]
Fix missing crypto module required by older versions of Node.

2 months agoPatch version. v4.0.8
Chris Duncan [Thu, 27 Mar 2025 21:13:10 +0000 (14:13 -0700)]
Patch version.

2 months agoOverhaul server to consolidate work methods into one function. Overhaul CLI to spin...
Chris Duncan [Thu, 27 Mar 2025 21:03:44 +0000 (14:03 -0700)]
Overhaul server to consolidate work methods into one function. Overhaul CLI to spin up server and request work instead of using its own puppeteer instance since testing found the server overhead to be negligible in comparison to puppeteer. Remove size getter from GL. Fix types and related imports. Add more environment variables to control server behavior. Add tests to server test script. Update package configuration files.

2 months agoPatch version. v4.0.7
Chris Duncan [Wed, 26 Mar 2025 15:07:42 +0000 (08:07 -0700)]
Patch version.

2 months agoIgnore all arguments when starting server and use envvars instead. Read NANO_POW_EFFO...
Chris Duncan [Wed, 26 Mar 2025 15:04:11 +0000 (08:04 -0700)]
Ignore all arguments when starting server and use envvars instead. Read NANO_POW_EFFORT from environment when starting server. Update test script to use port 3001 to test custom value. Pass NanoPowOptions object into puppeteer evaluate calls. Update README to use destructuring assignment for output clarity and to use new method names. Add more command line guidance to README. Fix default effort used by server to match the actual implementation and fix README accordingly. Add --server documentation to manual. Fix threshold/difficulty ranges throughout documentation and remove mention of u32 threshold workaround from README. Whitespace.

2 months agoUpdate changelog with v3 patch notes.
Chris Duncan [Sun, 23 Mar 2025 07:39:44 +0000 (00:39 -0700)]
Update changelog with v3 patch notes.

2 months agoPatch version. v4.0.6
Chris Duncan [Sun, 23 Mar 2025 07:06:26 +0000 (00:06 -0700)]
Patch version.

2 months agoRevert setTimeout workaround now that initialization has been improved.
Chris Duncan [Sun, 23 Mar 2025 07:02:16 +0000 (00:02 -0700)]
Revert setTimeout workaround now that initialization has been improved.

2 months agoFix test script reference to server process ID.
Chris Duncan [Sun, 23 Mar 2025 06:48:50 +0000 (23:48 -0700)]
Fix test script reference to server process ID.

2 months agoCheck for API support manually before re-exporting them in barrel. Only initialize...
Chris Duncan [Sun, 23 Mar 2025 06:42:18 +0000 (23:42 -0700)]
Check for API support manually before re-exporting them in barrel. Only initialize each API once methods are called.

2 months agoGive cli and server a moment before querying for GPU.
Chris Duncan [Sat, 22 Mar 2025 21:36:06 +0000 (14:36 -0700)]
Give cli and server a moment before querying for GPU.

2 months agoPatch version. v4.0.5
Chris Duncan [Sat, 22 Mar 2025 06:57:04 +0000 (23:57 -0700)]
Patch version.

2 months agoPatch version. v4.0.4
Chris Duncan [Sat, 22 Mar 2025 06:45:29 +0000 (23:45 -0700)]
Patch version.

2 months agoFix cli file paths for older versions of Node.
Chris Duncan [Sat, 22 Mar 2025 06:44:07 +0000 (23:44 -0700)]
Fix cli file paths for older versions of Node.

2 months agoPatch version. v4.0.3
Chris Duncan [Sat, 22 Mar 2025 06:32:35 +0000 (23:32 -0700)]
Patch version.

2 months agoLog IP address when server starts instead of constant localhost value.
Chris Duncan [Sat, 22 Mar 2025 06:20:22 +0000 (23:20 -0700)]
Log IP address when server starts instead of constant localhost value.

2 months agoQuote bash variables.
Chris Duncan [Sat, 22 Mar 2025 01:21:27 +0000 (18:21 -0700)]
Quote bash variables.

2 months agoAdd node crypto module for older versions.
Chris Duncan [Sat, 22 Mar 2025 00:47:34 +0000 (17:47 -0700)]
Add node crypto module for older versions.

2 months agoPatch version. v4.0.2
Chris Duncan [Fri, 21 Mar 2025 21:21:56 +0000 (14:21 -0700)]
Patch version.

2 months agoFix server file paths for older versions of Node.
Chris Duncan [Fri, 21 Mar 2025 21:19:39 +0000 (14:19 -0700)]
Fix server file paths for older versions of Node.

2 months agoUpdate package lockfile.
Chris Duncan [Fri, 21 Mar 2025 20:55:44 +0000 (13:55 -0700)]
Update package lockfile.

2 months agoPatch version. v4.0.1
Chris Duncan [Fri, 21 Mar 2025 20:11:52 +0000 (13:11 -0700)]
Patch version.

2 months agoUpdate bin to call shell script which starts server if specified or CLI as usual...
Chris Duncan [Fri, 21 Mar 2025 20:10:50 +0000 (13:10 -0700)]
Update bin to call shell script which starts server if specified or CLI as usual if not.

2 months agoAllow server to be executed when installed globally.
Chris Duncan [Fri, 21 Mar 2025 18:35:18 +0000 (11:35 -0700)]
Allow server to be executed when installed globally.

2 months agoRelease version. v4.0.0
Chris Duncan [Fri, 21 Mar 2025 17:15:12 +0000 (10:15 -0700)]
Release version.

2 months agoAdd node to environment in case server is executed outside of npm script.
Chris Duncan [Fri, 21 Mar 2025 16:47:10 +0000 (09:47 -0700)]
Add node to environment in case server is executed outside of npm script.

2 months agoImplement server.
Chris Duncan [Fri, 21 Mar 2025 16:40:23 +0000 (09:40 -0700)]
Implement server.
Add executable start a Node server, accept POST requests in same JSON format as Nano node specs, and process similarly to CLI using puppeteer. Remove migration compatibility layer introduced in v3.2.0. Extract help text to separate documentation file. Write basic test script to check server. Refactor threshold to expect 64-bit values only. Fix Typescript types.

2 months agoMerge branch 'main' into recover-execution
Chris Duncan [Fri, 21 Mar 2025 16:32:37 +0000 (09:32 -0700)]
Merge branch 'main' into recover-execution

2 months agoPatch version. v3.2.1
Chris Duncan [Fri, 21 Mar 2025 14:20:11 +0000 (07:20 -0700)]
Patch version.

2 months agoUpdate dependencies.
Chris Duncan [Fri, 21 Mar 2025 14:16:41 +0000 (07:16 -0700)]
Update dependencies.

2 months agoReimplement CSP and generate script hash to use for puppeteer page content. Get GPU...
Chris Duncan [Fri, 21 Mar 2025 14:15:50 +0000 (07:15 -0700)]
Reimplement CSP and generate script hash to use for puppeteer page content. Get GPU types to resolve Typescript warning.

2 months agoCreate type to store execution details to retry on context loss. Add initial recovery...
Chris Duncan [Thu, 20 Mar 2025 22:02:05 +0000 (15:02 -0700)]
Create type to store execution details to retry on context loss. Add initial recovery statements.

2 months agoUpdate version. v3.2.0
Chris Duncan [Thu, 20 Mar 2025 21:59:42 +0000 (14:59 -0700)]
Update version.

2 months agoSet up for v4
Chris Duncan [Thu, 20 Mar 2025 21:56:55 +0000 (14:56 -0700)]
Set up for v4
Add two new methods which align with Nano node RPC actions. Return more data from hash result. Indicate a more specific `threshold` by passing a full 16-character string to the new `work_` methods. Changed `NanoPowGl.size` property to return total pixel count. Add typings for request and response objects consumed by new `work_` methods. Add more tests for receive threshold edge cases. Improve build process. Expand documentation.

2 months agoPatch version. v3.1.4
Chris Duncan [Sun, 16 Mar 2025 06:31:31 +0000 (23:31 -0700)]
Patch version.

2 months agoFix package per npm cli feedback.
Chris Duncan [Sun, 16 Mar 2025 06:29:22 +0000 (23:29 -0700)]
Fix package per npm cli feedback.

2 months agoReorganize source directory structure.
Chris Duncan [Sun, 16 Mar 2025 06:22:33 +0000 (23:22 -0700)]
Reorganize source directory structure.
Put documentation and test files into top-level folders. Divide PoW modules by API instead of by file type. Update file paths accordingly. Replace a duplicate sample blockhash.

2 months agoPatch version. v3.1.3
Chris Duncan [Sat, 15 Mar 2025 19:46:54 +0000 (12:46 -0700)]
Patch version.

2 months agoUpdated cli to accept input from stdin like redirects and pipes. Add JSON output...
Chris Duncan [Sat, 15 Mar 2025 19:22:11 +0000 (12:22 -0700)]
Updated cli to accept input from stdin like redirects and pipes. Add JSON output option to cli. Updated documentation for new cli features. Refactor gl draw shader to align with gpu compute shader on blake2b initialization. Update README license section. Rename file of test blockhashes since they are not work seeds.

3 months agoPatch version. v3.1.2
Chris Duncan [Thu, 13 Mar 2025 23:49:12 +0000 (16:49 -0700)]
Patch version.

3 months agoFix additional help documentation. Add small sample file of blockhashes used in test...
Chris Duncan [Thu, 13 Mar 2025 23:48:14 +0000 (16:48 -0700)]
Fix additional help documentation. Add small sample file of blockhashes used in test page so they can be used to test cli.

3 months agoFix man page formatting.
Chris Duncan [Thu, 13 Mar 2025 23:35:19 +0000 (16:35 -0700)]
Fix man page formatting.

3 months agoPatch version. v3.1.1
Chris Duncan [Thu, 13 Mar 2025 17:55:23 +0000 (10:55 -0700)]
Patch version.

3 months agoBreak up man page sections for legibility. Use macros for code examples. Add link...
Chris Duncan [Thu, 13 Mar 2025 17:53:35 +0000 (10:53 -0700)]
Break up man page sections for legibility. Use macros for code examples. Add link to Nano PoW docs. Add description of output.

3 months agoUpdate version. v3.1.0
Chris Duncan [Thu, 13 Mar 2025 17:05:02 +0000 (10:05 -0700)]
Update version.

3 months agoAdd SPDX comments to man page for REUSE compliance.
Chris Duncan [Thu, 13 Mar 2025 17:02:17 +0000 (10:02 -0700)]
Add SPDX comments to man page for REUSE compliance.

3 months agoRestore basic performance timing to CLI when debugging.
Chris Duncan [Thu, 13 Mar 2025 16:54:05 +0000 (09:54 -0700)]
Restore basic performance timing to CLI when debugging.

3 months agoAt just 2.8 KiB, the Terms page is the most lightweight chrome:// URL, so use it...
Chris Duncan [Thu, 13 Mar 2025 16:31:26 +0000 (09:31 -0700)]
At just 2.8 KiB, the Terms page is the most lightweight chrome:// URL, so use it for CLI instead of chrome://newtab which is over 25 times larger at 74.0 KiB.

3 months agoReset CPU buffer in compute shader in additioa to resetting GPU buffer on each dispatch.
Chris Duncan [Thu, 13 Mar 2025 15:40:18 +0000 (08:40 -0700)]
Reset CPU buffer in compute shader in additioa to resetting GPU buffer on each dispatch.

3 months agoSkip irrelevant compute instructions.
Chris Duncan [Thu, 13 Mar 2025 15:39:52 +0000 (08:39 -0700)]
Skip irrelevant compute instructions.

3 months agoFix incorrect final digest XOR in threshold comparison to properly use initialized...
Chris Duncan [Thu, 13 Mar 2025 15:29:40 +0000 (08:29 -0700)]
Fix incorrect final digest XOR in threshold comparison to properly use initialized state instead of using default state without the necessary parameter block.

3 months agoFlip compute shader UBO property order to be consistent with GL draw shader and to...
Chris Duncan [Thu, 13 Mar 2025 15:28:30 +0000 (08:28 -0700)]
Flip compute shader UBO property order to be consistent with GL draw shader and to allow properties to be added later without messing up alignment too much.

3 months agoReturn actual hash result from compute shader in addition to nonce value in order...
Chris Duncan [Thu, 13 Mar 2025 15:23:17 +0000 (08:23 -0700)]
Return actual hash result from compute shader in addition to nonce value in order to assist with debugging.

3 months agoMerge cli into main
Chris Duncan [Thu, 13 Mar 2025 01:34:01 +0000 (18:34 -0700)]
Merge cli into main

Create command line tool using puppeteer that can be executed when
installed globally.
Write man page for cli.
Fix subtle bug in final XOR line of compute shader only observed when
using max threshold value.
Added test cases to check for max threshold bug in the future.
Reorganize compute shader v initialization to improve clarity.
Add more debugging output when flag is enabled.
Delay GL canvas initialization to allow it to fail gracefully in
unsupported environments.
Fix JSdoc comments.
Add bug report email to README.
Update dependencies.

3 months agoDocument CLI in README.
Chris Duncan [Thu, 13 Mar 2025 00:56:25 +0000 (17:56 -0700)]
Document CLI in README.

3 months agoUpdate dependencies.
Chris Duncan [Thu, 13 Mar 2025 00:42:55 +0000 (17:42 -0700)]
Update dependencies.

3 months agoWrite man page and update package file.
Chris Duncan [Thu, 13 Mar 2025 00:38:26 +0000 (17:38 -0700)]
Write man page and update package file.

3 months agoMove validate parsing. Add CLI help text. Whitespace.
Chris Duncan [Wed, 12 Mar 2025 23:31:47 +0000 (16:31 -0700)]
Move validate parsing. Add CLI help text. Whitespace.

3 months agoAdd bug report email to README.
Chris Duncan [Wed, 12 Mar 2025 23:30:46 +0000 (16:30 -0700)]
Add bug report email to README.

3 months agoAdd CLI support for validate calls. Add some debug logging. Remove display of block...
Chris Duncan [Wed, 12 Mar 2025 21:44:54 +0000 (14:44 -0700)]
Add CLI support for validate calls. Add some debug logging. Remove display of block hash from console output.

3 months agoAdjust debug logging.
Chris Duncan [Wed, 12 Mar 2025 21:34:53 +0000 (14:34 -0700)]
Adjust debug logging.

3 months agoAdd debug logging to GPU.
Chris Duncan [Wed, 12 Mar 2025 21:18:25 +0000 (14:18 -0700)]
Add debug logging to GPU.

3 months agoRefactor initialization to be extremely clear about how it is configured and why.
Chris Duncan [Wed, 12 Mar 2025 21:15:55 +0000 (14:15 -0700)]
Refactor initialization to be extremely clear about how it is configured and why.

3 months agoFix subtle but important carry bit bug that allowed valid nonces to be generated...
Chris Duncan [Wed, 12 Mar 2025 21:09:52 +0000 (14:09 -0700)]
Fix subtle but important carry bit bug that allowed valid nonces to be generated that were technically incorrect but close enough to the correct value that it wasn't caught until now.

3 months agoAdd tests against max value threshold. Fix validator switching between APIs.
Chris Duncan [Wed, 12 Mar 2025 21:06:55 +0000 (14:06 -0700)]
Add tests against max value threshold. Fix validator switching between APIs.

3 months agoFix test page validation not using same options as search.
Chris Duncan [Tue, 11 Mar 2025 21:37:43 +0000 (14:37 -0700)]
Fix test page validation not using same options as search.

3 months agoLog options passed to functions if debugging.
Chris Duncan [Tue, 11 Mar 2025 21:21:17 +0000 (14:21 -0700)]
Log options passed to functions if debugging.

3 months agoFix threshold comparison in compute shader.
Chris Duncan [Tue, 11 Mar 2025 21:15:02 +0000 (14:15 -0700)]
Fix threshold comparison in compute shader.

3 months agoFix command arguments being popped one too many times.
Chris Duncan [Tue, 11 Mar 2025 21:05:04 +0000 (14:05 -0700)]
Fix command arguments being popped one too many times.

3 months agoRemove performance logging now that we know GPU is working.
Chris Duncan [Tue, 11 Mar 2025 20:58:23 +0000 (13:58 -0700)]
Remove performance logging now that we know GPU is working.

3 months agoFix JSdoc parameter and comment.
Chris Duncan [Tue, 11 Mar 2025 20:37:19 +0000 (13:37 -0700)]
Fix JSdoc parameter and comment.

3 months agoFix JSDoc and parameter typings.
Chris Duncan [Tue, 11 Mar 2025 20:25:14 +0000 (13:25 -0700)]
Fix JSDoc and parameter typings.

3 months agoRemove test logging now that GPU is working.
Chris Duncan [Tue, 11 Mar 2025 18:12:19 +0000 (11:12 -0700)]
Remove test logging now that GPU is working.

3 months agoFix GPU failure due to script executing too fast for GPU adapter to be available...
Chris Duncan [Tue, 11 Mar 2025 18:10:34 +0000 (11:10 -0700)]
Fix GPU failure due to script executing too fast for GPU adapter to be available by adding a wait function.

3 months agoApply fix for WebGPU not loading in about:blank page but also rejecting HTML content...
Chris Duncan [Tue, 11 Mar 2025 18:03:56 +0000 (11:03 -0700)]
Apply fix for WebGPU not loading in about:blank page but also rejecting HTML content overwrites in trusted chrome:// pages. Switch from complete overwrite of content to script injection.

3 months agoTest empty string instead of undefined against regexp.
Chris Duncan [Tue, 11 Mar 2025 17:58:09 +0000 (10:58 -0700)]
Test empty string instead of undefined against regexp.

3 months agoLog number of hashes processed.
Chris Duncan [Tue, 11 Mar 2025 01:31:35 +0000 (18:31 -0700)]
Log number of hashes processed.

3 months agoRemove early exit in case many block hashes are passed. Do some basic time logging...
Chris Duncan [Tue, 11 Mar 2025 01:29:17 +0000 (18:29 -0700)]
Remove early exit in case many block hashes are passed. Do some basic time logging to test CLI.

3 months agoAdd support for multiple hashes.
Chris Duncan [Mon, 10 Mar 2025 23:29:44 +0000 (16:29 -0700)]
Add support for multiple hashes.

3 months agoScrap CLI GPU for now, make a different branch for fixing it.
Chris Duncan [Sun, 9 Mar 2025 20:18:02 +0000 (13:18 -0700)]
Scrap CLI GPU for now, make a different branch for fixing it.

3 months agoAdd required environment shebang. Fix file read path. Expand logging of output to...
Chris Duncan [Sun, 9 Mar 2025 20:08:46 +0000 (13:08 -0700)]
Add required environment shebang. Fix file read path. Expand logging of output to try troubleshooting WebGPU.

3 months agoUse file contents injected directly into HTML string to load NanoPow into puppeteer...
Chris Duncan [Sun, 9 Mar 2025 09:20:49 +0000 (01:20 -0800)]
Use file contents injected directly into HTML string to load NanoPow into puppeteer browser page instance. Add flags marked by Chrome dev team. WebGPU still does not seem to work; this is using WebGL, but it is at least working.

3 months agoAdd copyright notice.
Chris Duncan [Sun, 9 Mar 2025 07:37:37 +0000 (23:37 -0800)]
Add copyright notice.

3 months agoMerge v3.0.1 from main.
Chris Duncan [Sun, 9 Mar 2025 07:36:45 +0000 (23:36 -0800)]
Merge v3.0.1 from main.

3 months agoPatch version. v3.0.1
Chris Duncan [Sun, 9 Mar 2025 07:21:27 +0000 (23:21 -0800)]
Patch version.

3 months agoUpdate dependencies.
Chris Duncan [Sun, 9 Mar 2025 07:20:47 +0000 (23:20 -0800)]
Update dependencies.

3 months agoImplement esbuild legal comments.
Chris Duncan [Sun, 9 Mar 2025 07:18:38 +0000 (23:18 -0800)]
Implement esbuild legal comments.

3 months agoRemove bundle from repo.
Chris Duncan [Sun, 9 Mar 2025 06:22:37 +0000 (22:22 -0800)]
Remove bundle from repo.

3 months agoReconstruct dist/ directory when building.
Chris Duncan [Sun, 9 Mar 2025 06:17:38 +0000 (22:17 -0800)]
Reconstruct dist/ directory when building.

3 months agoRefactor Deno cli for puppeteer.
Chris Duncan [Sun, 9 Mar 2025 06:12:14 +0000 (22:12 -0800)]
Refactor Deno cli for puppeteer.

3 months agoCreate GL canvas as part of initialization call.
Chris Duncan [Sun, 9 Mar 2025 04:05:05 +0000 (20:05 -0800)]
Create GL canvas as part of initialization call.

3 months agoStart setting up CLI structure. Code originally intended for deno is being migrated...
Chris Duncan [Sat, 8 Mar 2025 09:10:15 +0000 (01:10 -0800)]
Start setting up CLI structure. Code originally intended for deno is being migrated to puppeteer.

3 months agoOnly set GPU lost promise callback if lost actually exists as a property on the device.
Chris Duncan [Sat, 8 Mar 2025 09:05:50 +0000 (01:05 -0800)]
Only set GPU lost promise callback if lost actually exists as a property on the device.

3 months agoRemove deprecated file reference.
Chris Duncan [Tue, 4 Mar 2025 20:29:13 +0000 (12:29 -0800)]
Remove deprecated file reference.

3 months agoUpload bundle.
Chris Duncan [Sat, 1 Mar 2025 07:11:27 +0000 (23:11 -0800)]
Upload bundle.

3 months agoRelease version. v3.0.0
Chris Duncan [Sat, 1 Mar 2025 06:52:32 +0000 (22:52 -0800)]
Release version.

3 months agoUpdate dependencies.
Chris Duncan [Sat, 1 Mar 2025 06:51:43 +0000 (22:51 -0800)]
Update dependencies.