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.
Immutable result returned by
TransactionValidator.validate(com.privatechain.core.model.Transaction, com.privatechain.core.builder.Blockchain).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.