1
I understand that consensus (mining) and transaction validation are different concepts. Correct me if I'm wrong, but I believe each full node validates transactions and puts the valid ones into its own memory pool. Miners select transactions from the mempool and carry out the mining/consensus process to create a block.
Are there additional checks carried out by miners? If so, where are they in the Bitcoin source code? So far, I've found that transaction validation is carried out by some functions in main.cpp like AccepttoMemoryPool, while mining is implemented in miner.cpp. However, miner.cpp apparently also contains some checks.
Neither of those functions are part of modern bitcoin core, try looking at some more recent source code to begin with. – Anonymous – 2018-10-10T13:09:16.297
main.cpp indicate that he's looking at severely outdated code, but miner.cpp is totally still a thing, as as AccepttoMemoryPool. – G. Maxwell – 2018-10-12T01:05:26.093