Building a bittorent client with Go (v1.19) step by step, following the instructions on codecrafters.io.
In this project, we build a BitTorrent client that's capable of parsing a .torrent file and downloading a file from a peer. Along the way, we learn about how torrent files are structured, HTTP trackers, BitTorrent’s Peer Protocol, pipelining and more.