bitcoin/src/node
Lőrinc fa39f27a0f refactor,blocks: deduplicate block's serialized size calculations
For consistency `UNDO_DATA_DISK_OVERHEAD` was also extracted to avoid the constant's ambiguity.
Asserts were added to help with the review - they are removed in the next commit.

Co-authored-by: Ryan Ofsky <ryan@ofsky.org>
2025-01-09 15:16:28 +01:00
..
abort.cpp refactor: Split up NodeContext shutdown_signal and shutdown_request 2024-10-01 09:10:54 +02:00
abort.h refactor: Split up NodeContext shutdown_signal and shutdown_request 2024-10-01 09:10:54 +02:00
blockmanager_args.cpp Add -blocksxor boolean option 2024-07-26 17:30:53 +02:00
blockmanager_args.h
blockstorage.cpp refactor,blocks: deduplicate block's serialized size calculations 2025-01-09 15:16:28 +01:00
blockstorage.h refactor,blocks: deduplicate block's serialized size calculations 2025-01-09 15:16:28 +01:00
caches.cpp
caches.h
chainstate.cpp Merge bitcoin/bitcoin#31064: init: Correct coins db cache size setting 2024-10-29 15:12:41 -04:00
chainstate.h
chainstatemanager_args.cpp scripted-diff: Replace strprintf(Untranslated) with Untranslated(strprintf) 2024-12-04 15:09:05 -04:00
chainstatemanager_args.h refactor: Clamp worker threads in ChainstateManager constructor 2024-11-18 11:13:20 +01:00
coin.cpp refactor: Rely on returned value of GetCoin instead of parameter 2024-09-18 20:03:47 +02:00
coin.h
coins_view_args.cpp
coins_view_args.h
connection_types.cpp
connection_types.h
context.cpp Introduce Mining interface 2024-06-18 18:47:51 +02:00
context.h refactor: Split up NodeContext shutdown_signal and shutdown_request 2024-10-01 09:10:54 +02:00
database_args.cpp
database_args.h
eviction.cpp
eviction.h
interface_ui.cpp refactor: Use + instead of strformat to concatenate translated & untranslated strings 2024-12-04 15:09:05 -04:00
interface_ui.h add missing #include <cstdint> for GCC 15 2024-08-12 11:15:11 +01:00
interfaces.cpp Merge bitcoin/bitcoin#31325: Make m_tip_block std::optional 2024-12-19 10:05:31 -05:00
kernel_notifications.cpp Ensure m_tip_block is never ZERO 2024-12-17 10:19:00 +07:00
kernel_notifications.h Ensure m_tip_block is never ZERO 2024-12-17 10:19:00 +07:00
mempool_args.cpp scripted-diff: Replace strprintf(Untranslated) with Untranslated(strprintf) 2024-12-04 15:09:05 -04:00
mempool_args.h
mempool_persist.cpp streams: remove AutoFile::Get() entirely 2024-09-13 21:59:29 -04:00
mempool_persist.h mempool: move LoadMempool/DumpMempool to node 2024-06-26 22:47:09 +00:00
mempool_persist_args.cpp
mempool_persist_args.h
miner.cpp Drop script_pub_key arg from createNewBlock 2024-12-04 12:44:57 +07:00
miner.h test: drop scriptPubKeyIn arg from CreateNewBlock 2024-12-04 12:46:33 +07:00
mini_miner.cpp MiniMiner: use FeeFrac in AncestorFeerateComparator 2024-07-09 17:22:51 +01:00
mini_miner.h Don't use iterator addresses in IteratorComparator 2024-06-19 10:14:31 +01:00
minisketchwrapper.cpp
minisketchwrapper.h
peerman_args.cpp
peerman_args.h
protocol_version.h
psbt.cpp
psbt.h
README.md
timeoffsets.cpp
timeoffsets.h
transaction.cpp rpc: clarify ALREADY_IN_CHAIN rpc errors 2024-08-05 15:45:58 +01:00
transaction.h
txdownloadman.h [doc] comment fixups from n30110 2024-10-30 21:13:01 -04:00
txdownloadman_impl.cpp [p2p] filter 1p1c for child txid in recent rejects 2024-10-24 21:23:56 -04:00
txdownloadman_impl.h [doc] comment fixups from n30110 2024-10-30 21:13:01 -04:00
txreconciliation.cpp random: get rid of GetRand by inlining 2024-07-01 12:39:53 -04:00
txreconciliation.h
types.h refactor: fix typo in node/types.h 2024-12-18 14:55:35 +07:00
utxo_snapshot.cpp streams: remove unused code 2024-09-19 07:33:02 -04:00
utxo_snapshot.h assumeutxo: Drop block height from metadata 2024-08-08 23:55:06 +02:00
warnings.cpp scripted-diff: drop config/ subdir for bitcoin-config.h, rename to bitcoin-build-config.h 2024-10-10 12:22:12 +02:00
warnings.h

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.