Skip to content
prasad-kumkar edited this page May 5, 2025 · 1 revision

Core

The jam.core module implements the fundamental components of the JAM protocol, providing the foundation for the Tessera node.

Core Components

The core module consists of several key components:

Block Processing

The block processing system handles the validation and application of blocks:

  • Block Validation: Verify block format, signatures, and state transitions
  • Block Import: Import new blocks into the chain
  • Block Application: Apply block state transitions
  • Fork Choice: Determine the canonical chain

Extrinsic Processing

The extrinsic processing system manages the handling of transactions:

  • Extrinsic Validation: Verify transaction format and signatures
  • Extrinsic Storage: Store extrinsics temporarily
  • Extrinsic Application: Apply transaction state transitions
  • Extrinsic Ordering: Order transactions within a block

State Transition Functions

The core module implements the state transition functions defined in the JAM protocol:

  • α: Authorization pool
  • β: Block history
  • γ: Safrole consensus state
  • δ: Service accounts
  • η: Entropy accumulator
  • ι: Validator key queue
  • κ: Active validator keys
  • λ: Previous epoch validator keys
  • ρ: Work reports queue
  • τ: Current timeslot
  • φ: Authorization queue
  • χ: Privileged services
  • ψ: Work report judgments
  • π: Validator statistics
  • ν: Accumulation queue
  • ξ: Work report history

Usage

TBA

Block Structure

TBA

Extrinsic Structure

TBA

For more detailed information on the core architecture, see ADR-0001: Core Architecture.

Clone this wiki locally