Tempo is a custom Ethereum-compatible L1 blockchain built in Rust, offering a full node client with validator and follower modes. It diverges from standard Ethereum by introducing account abstraction (AA) as the default transaction type, 2D nonces, fee token mechanisms, and a novel consensus protocol using the Commonware framework with BLS threshold signatures and distributed key generation (DKG). The execution layer is based on revm (Rust EVM) with extensive use of hardfork-gated precompiled contracts (TIP20 tokens, stablecoin DEX, fee manager, storage credits, etc.), replacing many ERC standards. The architecture is actor-based, with separate crates for consensus, execution, payload building, transaction pool, and node orchestration. It includes a rich CLI, localnet dev environment, and extensive benchmarking and testing infrastructure. While primarily an application, it has strong research elements in consensus design, gas modeling, and economic experiments (e.g., fee AMM arb bot).
This repository contains the formal LaTeX specification of the JAM (Join-Accumulate Machine) protocol, a proposed blockchain system by Dr. Gavin Wood. It is not a software application but a reference document defining the protocol's state transitions, cryptographic primitives, virtual machine (PVM), consensus mechanism (Safrole), and accumulation pipeline. The codebase consists entirely of LaTeX source files, a bibliography, build scripts, and assets for generating a PDF. The specification is mathematically rigorous and structured for formal verification or implementation. While not a runnable system, it demonstrates high craftsmanship in consistent notation, modular sectioning, and automated build processes. The project is actively maintained with versioning and spell-checking, but lacks automated testing or CI for the specification itself.