More cards

This commit is contained in:
2026-10-19 18:52:49 -04:00
parent 716c9612cc
commit 0b9061372b
26 changed files with 549 additions and 201 deletions
+18 -20
View File
@@ -1,9 +1,22 @@
# Native RandomX engine
This is the CPU proof engine used by the Wikideck testnet node and explicit opt-in
native miner. Browser mining has been removed from the active application. The
Docker image builds this pinned implementation and runs its known-vector test.
There is no GPU path, simulated hash, or production fallback hash.
native miner. Mining runs only when the operator starts the native CLI; the browser
does not mine or launch native programs. The Docker image builds this pinned
implementation and runs its known-vector test. There is no GPU path, simulated hash,
or production fallback hash.
This document covers building the executable, its memory modes, its line protocol,
and the TypeScript adapter. For the user-facing install and run instructions, start
with the [README](../README.md).
## Contents
- [Source and build](#source-and-build)
- [Modes and resource use](#modes-and-resource-use)
- [Line protocol](#line-protocol)
- [Node API](#node-api)
- [Real upstream known-vector check](#real-upstream-known-vector-check)
## Source and build
@@ -47,8 +60,8 @@ must permit the script; do not bypass a managed policy. POSIX customization:
CMake environment or a manual configuration. Don't switch generators in an
existing build directory.
All generators place the executable directly under [native/build](../native/build)
(with `.exe` on Windows), including Release builds with multi-config generators.
All generators place the executable directly under `native/build` (with `.exe` on
Windows), including Release builds with multi-config generators.
Upstream tests/benchmark/codegen are excluded from the default build: v1.2.1 does
not provide a tests-disable option. No benchmark or dataset-heavy fast-mode test
runs automatically.
@@ -177,18 +190,3 @@ ctest --test-dir native/build -C Release --output-on-failure
This test is OFF by default and is separate from the application's tests. Without
a built native binary, no native engine or native test is run by the application.
## Validation record
Verified on Windows x64 with CMake 3.26.4, MinGW GCC 13.1.0 and Node 24.22.0:
- Release native build with two compiler jobs; opt-in CTest upstream vector passed.
- Production TypeScript/application build passed.
- Ad-hoc actual-native light-mode checks passed: FIFO hashes, same-key reuse,
key changes and restoration, mining success/exhaustion, target equality and
big-endian comparison, LE8 nonce handling, 8192-byte blob, strict invalid-input
rejection, native uint64 nonce output, missing binary, queue bounds, crash
rejection, idempotent close, and stdin EOF.
- Both build scripts passed syntax checks.
Fast-mode allocation/runtime and Linux/macOS/MSVC builds were not run. The memory
and initialization cost of the full dataset remains an explicit opt-in.