diff options
author | MarcoFalke <falke.marco@gmail.com> | 2019-11-21 10:14:23 -0500 |
---|---|---|
committer | MarcoFalke <falke.marco@gmail.com> | 2019-11-21 10:18:02 -0500 |
commit | ae6943620ab369e8e0865c3ec2d2848ba9389325 (patch) | |
tree | ffd70333e807d5e0a79f00a4b7315cf4243e1a11 /CONTRIBUTING.md | |
parent | 5ff798c39b8a72d64bd2c23f400d1c35ca27a1ed (diff) | |
parent | fa538813b1c382cf135cbf2a0cc3fa01f36964d8 (diff) |
Merge #17407: node: Add reference to mempool in NodeContext
fa538813b1c382cf135cbf2a0cc3fa01f36964d8 scripted-diff: Replace ::mempool with m_node.mempool in tests (MarcoFalke)
8888ad02e204b0fa7a2ea2cfed2fc3f298cf1623 test: Replace recursive lock with locking annotations (MarcoFalke)
fac07f2038a3ccd5edadc6e6122c02fa30e697bd node: Add reference to mempool in NodeContext (MarcoFalke)
Pull request description:
This is the first step toward making the mempool a global that is not initialized before main.
#### Motivation
Currently the mempool is a global that is initialized before the `main` function. This is confusing and easy to get wrong. E.g. the mempool constructor queries state that has not been initialized, like randomness (fixed), or command line arguments (not an issue last time I checked). Also without having the chainstate (chain tip) initialized first, it doesn't make conceptually sense to have a mempool, since the mempool builds txs on top of the utxo set (chain tip).
Finally, in the future someone might want to run a consensus-only full node (`-nowallet -noblockfilter -no... -nomempool` command line options) that only verifies blocks and updates the utxo set.
This is conceptually the same change that has already been done for the connection manager `CConnman`.
ACKs for top commit:
jnewbery:
utACK fa538813b1c382cf135cbf2a0cc3fa01f36964d8
ariard:
Tested ACK fa53881.
Tree-SHA512: 2c446a8a51476354aad7126c2b833500d36b24490caa94f847b2bdc622054de0dae28980f23e3d91b1b492dc32931656d98dbd019af9e4e58f2f8c5375aac694
Diffstat (limited to 'CONTRIBUTING.md')
0 files changed, 0 insertions, 0 deletions