Generate a new block, without valid proof-of-work.
More...
#include <miner.h>
|
| static std::optional< int64_t > | m_last_block_num_txs {} |
| | The number of transactions in the last assembled block (excluding coinbase transaction) More...
|
| |
| static std::optional< int64_t > | m_last_block_weight {} |
| | The weight of the last assembled block (including reserved weight for block header, txs count and coinbase tx) More...
|
| |
Generate a new block, without valid proof-of-work.
Definition at line 143 of file miner.h.
◆ BlockAssembler()
◆ addPackageTxs()
| void node::BlockAssembler::addPackageTxs |
( |
int & |
nPackagesSelected, |
|
|
int & |
nDescendantsUpdated |
|
) |
| -> cs) |
|
private |
Add transactions based on feerate including unconfirmed ancestors Increments nPackagesSelected / nDescendantsUpdated with corresponding statistics from the package selection (for logging statistics).
- Precondition
- BlockAssembler::m_mempool must not be nullptr
Return true if given transaction from mapTx has already been evaluated, or if the transaction's cached data in mapTx is incorrect.
Definition at line 299 of file miner.cpp.
◆ AddToBlock()
Add a tx to the block.
Definition at line 230 of file miner.cpp.
◆ CreateNewBlock()
| std::unique_ptr< CBlockTemplate > node::BlockAssembler::CreateNewBlock |
( |
| ) |
|
Construct a new block template.
Definition at line 118 of file miner.cpp.
◆ onlyUnconfirmed()
Remove confirmed (inBlock) entries from given set.
Definition at line 194 of file miner.cpp.
◆ resetBlock()
| void node::BlockAssembler::resetBlock |
( |
| ) |
|
|
private |
Clear the block's state and prepare for assembling a new block.
Definition at line 105 of file miner.cpp.
◆ SortForBlock()
Sort the package in an order that is valid to appear in a block.
Definition at line 278 of file miner.cpp.
◆ TestPackage()
| bool node::BlockAssembler::TestPackage |
( |
uint64_t |
packageSize, |
|
|
int64_t |
packageSigOpsCost |
|
) |
| const |
|
private |
Test if a new package would "fit" in the block.
Definition at line 206 of file miner.cpp.
◆ TestPackageTransactions()
Perform checks on each transaction in a package: locktime, premature-witness, serialized size (if necessary) These checks should always succeed, and they're here only as an extra check in case of suboptimal node configuration.
Definition at line 220 of file miner.cpp.
◆ chainparams
◆ inBlock
◆ m_chainstate
◆ m_last_block_num_txs
| std::optional<int64_t> node::BlockAssembler::m_last_block_num_txs {} |
|
inlinestatic |
The number of transactions in the last assembled block (excluding coinbase transaction)
Definition at line 180 of file miner.h.
◆ m_last_block_weight
| std::optional<int64_t> node::BlockAssembler::m_last_block_weight {} |
|
inlinestatic |
The weight of the last assembled block (including reserved weight for block header, txs count and coinbase tx)
Definition at line 182 of file miner.h.
◆ m_lock_time_cutoff
| int64_t node::BlockAssembler::m_lock_time_cutoff |
|
private |
◆ m_mempool
| const CTxMemPool* const node::BlockAssembler::m_mempool |
|
private |
◆ m_options
| const Options node::BlockAssembler::m_options |
|
private |
◆ nBlockSigOpsCost
| uint64_t node::BlockAssembler::nBlockSigOpsCost |
|
private |
◆ nBlockTx
| uint64_t node::BlockAssembler::nBlockTx |
|
private |
◆ nBlockWeight
| uint64_t node::BlockAssembler::nBlockWeight |
|
private |
◆ nFees
| CAmount node::BlockAssembler::nFees |
|
private |
◆ nHeight
| int node::BlockAssembler::nHeight |
|
private |
◆ pblocktemplate
The documentation for this class was generated from the following files: