[#kernel] = kernel :mrdocs: Kernel library components for validating blocks and maintaining chain state. == Types [cols="1,4"] |=== | Name| Description | xref:kernel/BlockManagerOpts.adoc[`BlockManagerOpts`] | An options struct for `BlockManager`, more ergonomically referred to as `BlockManager::Options` due to the using‐declaration in `BlockManager`. | xref:kernel/BlockTreeDB.adoc[`BlockTreeDB`] | Access to the block database (blocks/index/) | xref:kernel/CBlockFileInfo.adoc[`CBlockFileInfo`] | On‐disk statistics describing the contents of one block file. | xref:kernel/CCoinsStats.adoc[`CCoinsStats`] | Aggregate statistics computed over the UTXO set. | xref:kernel/CacheSizes.adoc[`CacheSizes`] | Byte budgets for the validation caches, derived from a single total. | xref:kernel/ChainstateManagerOpts.adoc[`ChainstateManagerOpts`] | An options struct for `ChainstateManager`, more ergonomically referred to as `ChainstateManager::Options` due to the using‐declaration in `ChainstateManager`. | xref:kernel/ChainstateRole.adoc[`ChainstateRole`] | Identifies which chainstate (active or background) a notification refers to. | xref:kernel/Context.adoc[`Context`] | Process‐wide context owning the libbitcoin_kernel global state. | xref:kernel/Interrupted.adoc[`Interrupted`] | Result type for use with std::variant to indicate that an operation should be interrupted. | xref:kernel/MemPoolLimits.adoc[`MemPoolLimits`] | Options struct containing limit options for a CTxMemPool. Default constructor populates the struct with sane default values which can be modified. | xref:kernel/MemPoolOptions.adoc[`MemPoolOptions`] | Tunable options controlling memory‐pool acceptance and limits. | xref:kernel/Notifications.adoc[`Notifications`] | A base class defining functions for notifying about certain kernel events. |=== == Type Aliases [cols="1,4"] |=== | Name| Description | xref:kernel/InterruptResult.adoc[`InterruptResult`] | Simple result type for functions that need to propagate an interrupt status and don't have other return values. |=== == Enums [cols="1,4"] |=== | Name| Description | xref:kernel/CoinStatsHashType.adoc[`CoinStatsHashType`] | Selects the hashing scheme used to summarize the UTXO set. | xref:kernel/Warning.adoc[`Warning`] | Categories of node warning raised by the validation kernel. |=== == Functions [cols="1,4"] |=== | Name| Description | xref:kernel/ApplyCoinHash.adoc[`ApplyCoinHash`] | Folds a coin into the running MuHash of the UTXO set. | xref:kernel/ComputeUTXOStats.adoc[`ComputeUTXOStats`] | Computes aggregate statistics over the UTXO set. | xref:kernel/GetBogoSize.adoc[`GetBogoSize`] | Computes the serialization‐agnostic size measure of an output script. | xref:kernel/IsInterrupted.adoc[`IsInterrupted`] | Tests whether a variant result holds the Interrupted alternative. | xref:kernel/MakeBlockInfo.adoc[`MakeBlockInfo`] | Builds block metadata from a block index entry. | xref:kernel/RemoveCoinHash.adoc[`RemoveCoinHash`] | Removes a coin from the running MuHash of the UTXO set. | xref:kernel/SanityChecks.adoc[`SanityChecks`] | Ensure a usable environment with all necessary library support. | xref:kernel/operator_lshift.adoc[`operator<<`] | Writes a human‐readable form of a chainstate role to a stream. |=== == Variables [cols="1,4"] |=== | Name| Description | xref:kernel/DEFAULT_XOR_BLOCKSDIR.adoc[`DEFAULT_XOR_BLOCKSDIR`] | Default for whether block files are obfuscated (XOR‐ed) on disk. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#