I am not a professional in C++ but I have good experience in it and can google my way if i have problems. I also have basic knowledge of the GNU Build System and technicians of Cryptocurrencies (From Andre's book) .

My end goal is to test Monero's mining algorithm in isolation. Separate it and try modifying it or integrate it with a custom script in a new blockchain.

However, I don't understand the source code structure. Where should I start? I don't understand the flow of files.

I know this is hard but I am willing to learn whatever is required or give it enormous amount of time if that is required.

1 Answer 1


The best place to understand Monero mining is to start at https://github.com/monero-project/monero/blob/master/src/cryptonote_basic/miner.cpp

This is the in-built miner which implements the threads for fetching block templates, hashing and if a valid nonce is found, submitting to the network.

From this file, you can grep various other methods it uses to delve deeper.

Understanding the overall project structure requires studying it. Get comfortable with searching the source files with grep or whatever search tool you are used to.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.