[#node-CBlockTemplate]
= xref:node.adoc[node]::CBlockTemplate
:relfileprefix: ../
:mrdocs:

A candidate block together with the per&hyphen;transaction data needed to finalize it&period;

== Synopsis

Declared in `&lt;node&sol;miner&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
struct CBlockTemplate;
----

== Data Members

[cols="1,4"]
|===
| Name| Description
| xref:node/CBlockTemplate/block.adoc[`block`] 
| The block being assembled&period;
| xref:node/CBlockTemplate/m_coinbase_tx.adoc[`m&lowbar;coinbase&lowbar;tx`] 
| The coinbase transaction fields set by the miner&period;
| xref:node/CBlockTemplate/m_package_feerates.adoc[`m&lowbar;package&lowbar;feerates`] 
| Package fee rates, ordered by selection into the template&period;
| xref:node/CBlockTemplate/vTxFees.adoc[`vTxFees`] 
| Fee of each transaction, excluding the coinbase&period;
| xref:node/CBlockTemplate/vTxSigOpsCost.adoc[`vTxSigOpsCost`] 
| Sigops cost of each transaction, excluding the coinbase&period;
|===


== Non-Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:node/WaitAndCreateNewBlock.adoc[`WaitAndCreateNewBlock`]
| Return a new block template when fees rise to a certain threshold or after a new tip&semi; return nullopt if timeout is reached&period;
|===


[.small]#Created with https://www.mrdocs.com[MrDocs]#
