I am looking for a tutorial/blog post on how to implement bittorrent protocol step by step. How it works? How do you make requests to peers? and talk to trackers.
I
Implementing the protocol is not that hard by following the specs. However, there are lots of internal things like storage, scalable server, peer/piece pick algorithm, etc.
Earlier BitTorrent implementation or BitTornado used python, which is easy to read. I personally found them useful to understand the internals.