I've been working my way through a lot of information as I setup hardware, learn about finance, dig into the mechanics etc.
I'm a programmer at heart and have been desiring a deeper understanding of the underlying code responsible for mining.
I've lived most my life doing back-end, so I get a bit lost in UI programming
any help pointing me to the underlying code would be greatly appreciated.
I've already through the P2P discovery bit, but I'm really more interested in the following code locations:
- Where does new difficulty get calculated?
- Where is the code that propagates new difficulty to the mining nodes?
- Where is the code that deals with nuts and bolts of mining live? (Blockchain processing)
Any help or assistance would be hugely appreciated as I would love to knock the green off my understanding of the overall process
Also I will be sequence diagramming this code (and probably some other code) and documenting the functions. I would be happy to share this with the dev community. Is there a preferred place or should I just use the regular bitcoin wiki?
I may also be doing local classes for developers (and some non-developers) and possible some online courses. I will most likely be putting the curriculum into public domain.
Thanks