[#Chainstate-2constructor] = xref:Chainstate.adoc[Chainstate]::Chainstate :relfileprefix: ../ :mrdocs: Construct a chainstate. == Synopsis Declared in `<validation.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- explicit Chainstate( xref:CTxMemPool.adoc[CTxMemPool]* mempool, xref:node/BlockManager.adoc[node::BlockManager]& blockman, xref:ChainstateManager.adoc[ChainstateManager]& chainman, std::optional<uint256> from_snapshot_blockhash = std::nullopt); ---- == Parameters [cols="1,4"] |=== | Name| Description | *mempool* | Optional mempool kept in sync with this chainstate (only the active chainstate has one). | *blockman* | BlockManager instance shared across all chainstates. | *chainman* | The chainstate manager that owns this chainstate. | *from_snapshot_blockhash* | Base block hash if this chainstate was created from a snapshot, otherwise std::nullopt. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#