0
0
Fork 0
mirror of https://github.com/bitcoin/bitcoin.git synced 2025-02-09 10:43:19 -05:00
bitcoin-bitcoin-core/src/node
glozow 59afcc8354
Implement Mini version of BlockAssembler to calculate mining scores
Rewrite the same algo instead of reusing BlockAssembler because we have
a few extra requirements that would make the changes invasive and
difficult to review:

- Only operate on the relevant transactions rather than full mempool
- Remove transactions that will be replaced so they can't bump their ancestors
- Don't hold mempool lock outside of the constructor
- Skip things like max block weight and IsFinalTx
- Additionally calculate fees to bump remaining ancestor packages to target feerate

Co-authored-by: Murch <murch@murch.one>
2023-03-30 17:03:04 -04:00
..
blockstorage.cpp Use AutoFile and HashVerifier where possible 2023-01-03 12:55:29 +01:00
blockstorage.h Add BlockManager::IsPruneMode() 2023-01-16 17:31:32 +01:00
caches.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
caches.h Add src/node/* code to node:: namespace 2022-01-06 22:14:16 -05:00
chainstate.cpp Add BlockManager::GetPruneTarget() 2023-01-16 17:16:30 +01:00
chainstate.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
chainstatemanager_args.cpp Move ::fCheckBlockIndex into ChainstateManager 2022-10-18 14:11:48 +02:00
chainstatemanager_args.h Move ::nMinimumChainWork into ChainstateManager 2022-10-18 14:09:17 +02:00
coin.cpp Add src/node/* code to node:: namespace 2022-01-06 22:14:16 -05:00
coin.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
connection_types.cpp [net] Move ConnectionType to its own file 2022-07-06 18:13:53 +02:00
connection_types.h [net] Move ConnectionType to its own file 2022-07-06 18:13:53 +02:00
context.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
context.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
eviction.cpp [net] Move eviction logic to its own file 2022-07-06 18:13:54 +02:00
eviction.h [net] Move eviction logic to its own file 2022-07-06 18:13:54 +02:00
interface_ui.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
interface_ui.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
interfaces.cpp Remove reindex special case from the progress bar label 2023-02-07 11:02:01 +01:00
mempool_args.cpp Merge bitcoin/bitcoin#25872: Fix issues when calling std::move(const&) 2022-08-31 08:38:24 +01:00
mempool_args.h scripted-diff: Move mempool_args to src/node 2022-08-02 15:31:01 +02:00
mempool_persist_args.cpp DumpMempool: Pass in dump_path, stop using gArgs 2022-07-15 11:30:50 -04:00
mempool_persist_args.h Move DEFAULT_PERSIST_MEMPOOL out of libbitcoinkernel 2022-07-15 12:26:20 -04:00
miner.cpp Merge bitcoin/bitcoin#26695: bench: BlockAssembler on a mempool with packages 2023-01-11 18:11:11 -05:00
miner.h Merge bitcoin/bitcoin#26695: bench: BlockAssembler on a mempool with packages 2023-01-11 18:11:11 -05:00
mini_miner.cpp Implement Mini version of BlockAssembler to calculate mining scores 2023-03-30 17:03:04 -04:00
mini_miner.h Implement Mini version of BlockAssembler to calculate mining scores 2023-03-30 17:03:04 -04:00
minisketchwrapper.cpp Add src/node/* code to node:: namespace 2022-01-06 22:14:16 -05:00
minisketchwrapper.h Add src/node/* code to node:: namespace 2022-01-06 22:14:16 -05:00
psbt.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
psbt.h Add src/node/* code to node:: namespace 2022-01-06 22:14:16 -05:00
README.md doc: Remove irrelevant link to GitHub 2021-04-06 09:34:21 +02:00
transaction.cpp Add src/node/* code to node:: namespace 2022-01-06 22:14:16 -05:00
transaction.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
txreconciliation.cpp p2p, test, refactor: Minor code improvements 2022-11-14 11:49:49 +02:00
txreconciliation.h p2p, refactor: Switch to enum class for ReconciliationRegisterResult 2022-11-14 11:37:28 +02:00
utxo_snapshot.cpp refactor: Remove stray cs_main redundant declaration 2023-01-25 09:56:26 +01:00
utxo_snapshot.h refactor: Remove stray cs_main redundant declaration 2023-01-25 09:56:26 +01:00
validation_cache_args.cpp validationcaches: Use size_t for sizes 2022-08-03 12:03:28 -04:00
validation_cache_args.h validationcaches: Add and use ValidationCacheSizes 2022-08-03 12:03:27 -04:00

src/node/

The src/node/ directory contains code that needs to access node state (state in CChain, CBlockIndex, CCoinsView, CTxMemPool, and similar classes).

Code in src/node/ is meant to be segregated from code in src/wallet/ and src/qt/, to ensure wallet and GUI code changes don't interfere with node operation, to allow wallet and GUI code to run in separate processes, and to perhaps eventually allow wallet and GUI code to be maintained in separate source repositories.

As a rule of thumb, code in one of the src/node/, src/wallet/, or src/qt/ directories should avoid calling code in the other directories directly, and only invoke it indirectly through the more limited src/interfaces/ classes.

This directory is at the moment sparsely populated. Eventually more substantial files like src/validation.cpp and src/txmempool.cpp might be moved there.