Skip to main content

Conformance Vectors

Conformance vectors provide fixed inputs and expected outputs for the protocol rules that must stay deterministic. A passing implementation reproduces the published bytes, hashes, graph results, and verification outcomes.

Conformance Vector Coverage

Unit tests can confirm internal behavior without proving compatibility with another implementation. Shared vectors compare the values that cross an implementation boundary.

Use the Vector Groups

Run the canonicalization and identity cases first, followed by lineage, Merkle, signing, and replay cases. Additional utility tests cover package behavior outside the core identity path.

When to Rerun the Vectors

Run the complete set after any change to serialization, hashing, parent normalization, graph traversal, signing, replay handling, or Merkle logic.

Vectors cover canonical bytes, rejected values, Block creation, normalization, and validation.

SourceCoverage
conformance-vectors.test.jsCanonical strings and identity vectors
canonicalization.test.jsCanonicalization rejection and edge cases
block.test.jsBlock creation, normalization, and validation