This tutorial Is focused the most on how Bitcoin client program operates (the Bitcoin application ) and not on the protocol rules. (for more information about Bitcoin protocol see down the page)
even the protocol itself was been implemented In c++ , satsohipython and more to come, the original implementation was written by satoshi himself, was c++ implemented, so that Implementation is the target of our study.
lets look at the prerequisites to read Bitcoin c++ implementation fluently, as we have to take a look over both .cpp files and .h header files (you can check .cpp & .h files after downloading the c++ source code from github link https://codeload.github.com/bitcoin/bitcoin/zip/v0.1.5 ) without mentioning the program Is multi threaded to deal with different operating functions without intersaction between the functuions and corrupting a global variables that is shared among multiple threads and that means more complexity as we will have to use certain code patterns to deal with concurrency ( the program starts to do multiple operations at one time ), besides all that the code is very aggressive with c constructs ( constructs are that simply mean a function that is called when an object created, as satoshi’s implementation builds on that concept, constructors have the same name and the type of the object that being constructed, and it may take arguments if written to do so.) it will to help to be fluent with map, multi-map (multi-map are some kind of associative containers to store elements and formed by a combination of a key value and mapped value and used a lot transaction creation and wallets )key value , Set, string, vector, iostream, and templates
For information on how the Bitcoin protocol works, see The original Satoshi whitepaper:
http://bitcoin.org/bitcoin.pdf
The articles on the bitcoin.it Wiki:
https://en.bitcoin.it/wiki/Category:Technical
With special mention of the protocol specification:
https://en.bitcoin.it/wiki/Protocol_specification
And the protocol rules:
I am also still studying it...but not getting clearing understanding ...