I am thinking to create my own miner for Monero just for research purpose and understand how is the mining process.

First of all, I red the cn008 document and I understand almost everything but I don't know what should I put in the input string.

In the other hand, I also red the cn010 document but I don't know how is related with cn008 document. I think that DiffCut is (or is related with) the maturity which can be see in every single pool.

Please, can someone help me to understand all of this that apparently is unrelated? Thank you in advance

1 Answer 1


There's already some answer here: Where can I find a description of the CryptoNight hash algorithm?

Here's a schematic of CryptoNight algorithm:CryptoNight Source

In the node software, the hash function is called cn_slow_hash, see here. Also, there's a JavaScript implementation as well which may be easier to study.

Looking into code of some existing miners should help you as well:




  • I saw the image and the first link, i have already understood how the CryptoNight's algorithm works. But, How is related the CryptoNight's algorithm with the cn010 (rate of generated blocks)?
    – bipe15
    Commented May 28, 2017 at 12:43
  • rate of generated blocks will determine the difficulty of the PoW you have to produce for it to be accepted as solution. For a pool miner it shouldn't matter since you get a target PoW difficulty from the pool anyway, and the daemon handles the rest on the pool side AFAIK. Here's some more info: monero.stackexchange.com/questions/987/…
    – JollyMort
    Commented May 28, 2017 at 13:01

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.