
TypeScript JAM implementation
Gray Paper–aligned JAM in TypeScript: type-safe consensus, PVM, and tooling. Runs everywhere—Node, Bun, and the browser—so you can share code with web apps and ship with confidence.
Tech direction
Safrole
Consensus protocol as specified in Gray Paper Section 3 (safrole.tex). Ticket generation, sealing, epoch markers, and fallback sealing.
PVM
Para Virtual Machine per pvm.tex. Gray Paper–compliant PVM with host functions, instructions, RAM, and refinement invocations.
JAMNP-S
JAM Simple Networking Protocol over QUIC and TLS 1.3. Block announcement, state/work requests, ticket distribution, work packages, and audits.
Codec & types
Serialization and types aligned with Gray Paper (serialization.tex, definitions.tex). Blob/program decoding, extrinsic hashing, and shared type definitions.
Erasure & assurance
Erasure coding (erasure_coding.tex) and reporting assurance (reporting_assurance.tex). Data availability and verification tooling.
RPC & tooling
JIP-2 Node RPC server (Elysia), WebSocket subscriptions, and node services: validators, guarantors, builders, networking.
Implementation follows the Gray Paper as the authoritative spec. Test vectors from jamtestvectors validate compliance.
