git / moonbite-core / src/node/README.md · raw
# src/node/The [`src/node/`](./) directory contains code that needs to access node state(state in `CChain`, `CBlockIndex`, `CCoinsView`, `CTxMemPool`, and similarclasses).Code in [`src/node/`](./) is meant to be segregated from code in[`src/wallet/`](../wallet/) and [`src/qt/`](../qt/), to ensure wallet and GUIcode changes don't interfere with node operation, to allow wallet and GUI codeto run in separate processes, and to perhaps eventually allow wallet and GUIcode to be maintained in separate source repositories.As a rule of thumb, code in one of the [`src/node/`](./),[`src/wallet/`](../wallet/), or [`src/qt/`](../qt/) directories should avoidcalling code in the other directories directly, and only invoke it indirectlythrough the more limited [`src/interfaces/`](../interfaces/) classes.The [`src/node/`](./) directory is a new directory introduced in[#14978](https://github.com/bitcoin/bitcoin/pull/14978) and at the moment issparsely populated. Eventually more substantial files like[`src/validation.cpp`](../validation.cpp) and[`src/txmempool.cpp`](../txmempool.cpp) might be moved there.