First of, lets talk about how i got motivation to write this guide in the form of "gist"?
So one day, god(literally : 😂) sent me a message : "Hey Rishad, go and build your own torrent client (an application that downloads torrents)". I took it as an order from god, and i started to explore possible ways to build it. After many !hours but minutes of google searches, i got myself stuck reading a blog/article/guide written by ALLEN KIM and the reference blogs mentioned there, which were written by other developers.
Link : https://allenkim67.github.io/programming/2016/05/04/how-to-make-your-own-bittorrent-client.html
I was reading it thoroughly and on the way i found that in order to get "peer list", i must make a "GET" request to a tracker URL which was stored in "announce" field of bencode encoded torrent file. I found that the params of GET request's URL /?xyz=abc&mno=pqr
must have one of them as a field named "hash_value" and its va