bitcoin/src/node
2025-03-05 23:30:13 +00:00
..
abort.cpp refactor: remove warnings globals 2024-06-13 11:20:49 +01:00
abort.h refactor: remove warnings globals 2024-06-13 11:20:49 +01:00
blockmanager_args.cpp Add -pruneduringinit option to temporarily use another prune target during IBD 2025-02-12 22:42:47 +00:00
blockmanager_args.h Add [[nodiscard]] where ignoring a Result return type is an error 2023-05-29 13:12:45 +02:00
blockstorage.cpp Match Windows I/O priority to other platforms: loading external block files and reading blocks raw 2025-03-05 17:28:03 +00:00
blockstorage.h Merge 9245 via ionice 2025-03-05 03:27:08 +00:00
caches.cpp move-only: Extract common/args and common/config.cpp from util/system 2023-04-19 10:48:30 +02:00
caches.h Add src/node/* code to node:: namespace 2022-01-06 22:14:16 -05:00
chainstate.cpp Merge 31064 via init_coins_cache_pr31064-25 2025-03-05 03:27:08 +00:00
chainstate.h kernel: Add less confusing reindex options 2024-06-07 19:17:11 +02:00
chainstatemanager_args.cpp kernel: De-globalize signature cache 2024-07-05 09:03:04 +02:00
chainstatemanager_args.h refactor: Move {MAX,DEFAULT}_SCRIPTCHECK_THREADS constants 2023-10-03 10:52:17 +01: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
coins_view_args.cpp move-only: Extract common/args and common/config.cpp from util/system 2023-04-19 10:48:30 +02:00
coins_view_args.h refactor, txdb: Add CoinsViewOptions struct 2023-02-10 04:39:11 -04:00
connection_types.cpp net: expose transport types/session IDs of connections in RPC and logs 2023-10-02 18:11:11 -04:00
connection_types.h net: expose transport types/session IDs of connections in RPC and logs 2023-10-02 18:11:11 -04:00
context.cpp Introduce Mining interface 2024-06-18 18:47:51 +02:00
context.h Introduce Mining interface 2024-06-18 18:47:51 +02:00
database_args.cpp Add option dbfilesize to control LevelDB target ("max") file size 2024-05-08 04:04:07 +00:00
database_args.h refactor, dbwrapper: Add DBParams and DBOptions structs 2023-02-10 04:39:11 -04:00
eviction.cpp eviction: track one random unprotected node to evict if forced 2024-11-14 18:46:30 +00:00
eviction.h eviction: track one random unprotected node to evict if forced 2024-11-14 18:46:30 +00:00
interface_ui.cpp Add signals for network local address added/removed 2025-02-24 21:26:56 +00:00
interface_ui.h Add signals for network local address added/removed 2025-02-24 21:26:56 +00:00
interfaces.cpp interfaces: Expose raw CTxMemPool via interfaces::Node 2025-03-05 23:30:13 +00:00
kernel_notifications.cpp Merge 15861 via restore_vbits_warning 2025-03-05 03:27:08 +00:00
kernel_notifications.h Warnings: Add option to update message of existing alerts 2024-12-05 19:51:43 +00:00
mempool_args.cpp Merge k78 via rejectparasites-28+knots 2025-03-05 03:27:08 +00:00
mempool_args.h dustdynamic: Support specifying a multiplier (default to 3) 2025-02-24 21:21:31 +00:00
mempool_persist_args.cpp move-only: Extract common/args and common/config.cpp from util/system 2023-04-19 10:48:30 +02:00
mempool_persist_args.h refactor: Move fs.* to util/fs.* 2023-03-23 12:55:18 +01:00
mempool_persist.cpp Merge 7533 via sendraw_force-28+knots 2025-03-05 03:27:08 +00:00
mempool_persist.h Save transaction priority deltas to mempool-knots.dat 2025-02-21 23:41:44 +00:00
miner.cpp Merge blockview-28.1+knots 2025-03-05 03:27:08 +00:00
miner.h Merge blockview-28.1+knots 2025-03-05 03:27:08 +00: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 Use steady clock in SeedStrengthen and FindBestImplementation 2023-03-02 14:48:28 +01:00
minisketchwrapper.h Add src/node/* code to node:: namespace 2022-01-06 22:14:16 -05:00
peerman_args.cpp Merge bitcoin/bitcoin#28149: net processing: clamp PeerManager::Options user input 2023-08-09 14:26:03 +02:00
peerman_args.h [net processing] Introduce PeerManager options 2023-07-24 18:30:59 +02:00
protocol_version.h Rename version.h to node/protocol_version.h 2023-11-30 11:28:31 +01:00
psbt.cpp Include extra weight (-datacarriercost) in vsize policy consideration 2025-02-21 23:48:26 +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
timeoffsets.cpp refactor: remove warnings globals 2024-06-13 11:20:49 +01:00
timeoffsets.h refactor: remove warnings globals 2024-06-13 11:20:49 +01:00
transaction.cpp node: Accept "absurdly-high-fee" and "max-fee-exceeded" reject reasons to ignore max_tx_fee 2025-01-23 03:01:51 +00:00
transaction.h node: Extend BroadcastTransaction to accept ignore_rejects 2025-01-23 03:01:51 +00:00
txreconciliation.cpp random: get rid of GetRand by inlining 2024-07-01 12:39:53 -04:00
txreconciliation.h [net processing] Move -txreconciliation to PeerManager::Options 2023-07-24 18:35:28 +02:00
types.h RPC/Mining: Support overriding BlockAssembler options in RPC params 2025-02-24 21:12:50 +00:00
utxo_snapshot.cpp streams: remove AutoFile::Get() entirely 2024-09-16 23:10:17 -04:00
utxo_snapshot.h assumeutxo: Drop block height from metadata 2024-08-08 23:55:06 +02:00
warnings.cpp Merge 15861 via restore_vbits_warning 2025-03-05 03:27:08 +00:00
warnings.h Warnings: Add option to update message of existing alerts 2024-12-05 19:51:43 +00: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.