node

module
v0.2.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 6, 2026 License: BSD-3-Clause

README

node

Three node runtimes — Go, Rust and C++ — one build entry point, and the differentials that hold them to the same answers.

What it is

node imports three existing implementations rather than adding a fourth. Nothing under runtime/ or gpu/ is a copy or a fork; each is a README naming the checkout it builds and the exact invocation. Delete this repository and every one of them is exactly as it was.

The exception is chains/, where a port had no clean home. chains/rust/xvm is the X-Chain in Rust — a real port against the Rust node's VM seam, not a shim — and chains/{rust,cpp}/* hold the chain ports the differentials compare.

The differentials

The point of the repository. One corpus, three implementations, a runner that understands nothing and compares strings.

make chains        # 629 P/X/Q/Z/D/F wire vectors, all three languages
make precompiles   # 237 EVM precompile calls, all three languages
make bench         # the same chain corpus, timed

Each runtime already tests itself, and each passes. That is the problem a differential exists for: a suite written against an implementation agrees with the implementation it was written against, so a fork between two of them is invisible from inside either one. make chains found thirteen when it was first run; make precompiles found the BLS12-381 layout on its first three-way run.

A run fails if any implementation printed no row at all. Silence is not agreement — with four voices, three answering is still a comparison, it agrees, and the fourth's absence would read as a pass.

Build

make luxd RUNTIME=go      # bin/luxd-go    — chains/evm, the C-Chain VM plugin
make luxd RUNTIME=rust    # bin/luxd-rust  — lux-rs/node, a full host
make luxd RUNTIME=cpp     # bin/luxd-cpp   — lux-cpp/node, a full host
make all                  # all three plus gpu; nonzero exit unless 3/3
make conformance          # the pop/verdict corpus, all three languages

Every sub-build's exit code is checked. cargo and ctest have both reported stale success through a wrapper that did not look, so nothing here trusts a green Makefile over a red sub-build.

Where the detail is

LLM.md — what each runtime actually is, what the differentials found, and the gaps stated plainly. conformance/README.md and conformance/PRECOMPILE.md — how each harness works and what its verdicts mean. docs/ where present.

AGENTS.md, CLAUDE.md and GEMINI.md are symlinks to LLM.md. One document, whoever is reading.

Licence

BSD 3-Clause.

Directories

Path Synopsis
chains
cmd
luxd command
SPDX-License-Identifier: BSD-3-Clause-Eco
SPDX-License-Identifier: BSD-3-Clause-Eco
conformance
bench command
The cross-language benchmark.
The cross-language benchmark.
runner command
The cross-language differential runner.
The cross-language differential runner.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL