All Classes and Interfaces

Class
Description
Utility class for deriving a blockchain address from an EC public key.
Manages the allowlist of permitted node identifiers in a private blockchain network.
Interface for persisting the allowlist across restarts.
Immutable unit of the blockchain containing a list of transactions and a cryptographic link to the previous block (FR-CORE-01).
Fluent builder for Block.
Propagates newly mined or locally accepted blocks to all connected peers.
The canonical chain manager — orchestrates block appending, chain validation, and event publication.
Spring Boot autoconfiguration for the private-blockchain library.
Fluent builder and single assembly point for all blockchain subsystems.
Fluent builder for BlockchainConfig.
Sealed base type for all events published on the BlockchainEventBus.
Fired after a new block is successfully appended to the canonical chain.
Fired when the node detects two competing valid blocks at the same chain height.
Fired when a new peer successfully establishes a TCP connection to this node.
Fired when a peer connection is closed, either gracefully or due to an error.
Fired after a transaction successfully passes validation and enters the mempool.
Thread-safe, asynchronous publish/subscribe event bus for blockchain lifecycle events.
Listener interface for receiving events from the BlockchainEventBus.
Root unchecked exception for all errors thrown by the private-blockchain library.
Provides blockchain health and status details as a plain Spring bean.
Top-level entry point for the private-blockchain library.
Immutable snapshot of a node's operational status (NFR-UX-04).
Configuration properties for the private-blockchain Spring Boot autoconfiguration.
Mempool configuration properties, bound to blockchain.mempool.*.
REST controller exposing the blockchain node as a set of HTTP endpoints.
Simple payment transaction used by the REST demo.
Service Provider Interface (SPI) for persistent block storage.
Fetches missing blocks from a specific remote peer during chain synchronization.
Lightweight, immutable record representing the header of a Block.
Fluent builder for BlockHeader.
Shared Jackson-based JSON serializer / deserializer for Block objects.
Thrown when a Block fails validation during Blockchain.addBlock().
Utility class for exporting and importing a full blockchain in JSON and CSV formats.
Interface for the initial chain synchronization component.
Service Provider Interface (SPI) for pluggable consensus algorithms.
Thrown when a ConsensusEngine encounters an unrecoverable error during block production or validation.
Shared helper methods for built-in consensus engines.
Utility class for ECDSA signing and signature verification using the secp256k1 elliptic curve and the SHA-256withECDSA algorithm.
Immutable record holding an elliptic-curve key pair generated on the secp256k1 curve.
Orders transactions by fee in descending order (highest fee = highest priority).
File system backed BlockchainStorage implementation that stores each block as a separate JSON file.
Resolves chain forks by selecting the canonical chain according to the longest-chain (greatest cumulative difficulty) rule (FR-NET-05).
Factory for creating the genesis block (index 0) of a new blockchain.
Propagates submitted transactions to a random subset of connected peers via epidemic gossip.
Utility class providing cryptographic hash functions used throughout the blockchain.
HashMap-backed in-memory implementation of BlockchainStorage.
Service for generating and verifying time-limited invitation tokens for new node onboarding.
Immutable representation of a signed, time-limited invitation token.
Factory for generating and reconstructing elliptic-curve key pairs on the secp256k1 curve.
Crash-safe, persistent BlockchainStorage implementation backed by LevelDB.
Builds a binary Merkle tree from a list of transaction IDs and exposes root computation, inclusion-proof generation, and proof verification.
Immutable Merkle inclusion proof for a single transaction.
Immutable value holding a sibling hash and its relative position at one level of the Merkle tree.
Encodes and decodes wire-protocol messages exchanged between blockchain nodes.
Discriminator enum identifying the kind of P2P message.
Immutable envelope wrapping all P2P messages.
Manages outbound TCP connections from this node to remote peers.
Enumeration of node roles in a private blockchain network.
TCP server that accepts inbound peer connections and dispatches received messages.
Lifecycle interface for the P2P TCP node server.
Practical Byzantine Fault Tolerance consensus engine.
Immutable value object representing a remote peer node in the private blockchain network.
Fluent builder for Peer.
Manages the lifecycle of peer connections in the private blockchain P2P network.
Lifecycle interface for the P2P peer manager.
Thread-safe in-memory store for known Peer instances.
Manages role-based access control (RBAC) for a private blockchain network.
Proof-of-authority consensus engine.
SHA-256 proof-of-work consensus engine.
High write-throughput, crash-safe BlockchainStorage implementation backed by RocksDB.
Slot-based consensus engine.
Spring Boot entry point for the blockchain REST demo application.
Synchronizes the local blockchain with the P2P network on node startup and after partition recovery (FR-NET-04, design.md §4.3).
Orders transactions by submission timestamp in ascending order (oldest first / FIFO).
Abstract base class for all blockchain transactions.
In-memory pool of submitted, unconfirmed transactions ordered by a pluggable TransactionPrioritizer (FR-MEMPOOL-01 through FR-MEMPOOL-05).
Service Provider Interface (SPI) for ordering transactions in the mempool.
Thrown when a Transaction fails one or more TransactionValidator checks before entering the mempool or being included in a block.
Service Provider Interface (SPI) for pluggable transaction validation logic.
Classification of a transaction validation outcome.
Immutable wallet holding an EC key pair, a derived blockchain address, and performing transaction signing and balance queries.
Manager for creating, importing, and persisting wallets with encrypted keystores.