9 comments

[ 2.0 ms ] story [ 24.2 ms ] thread
I recently went through the same thing – building my own simple BitTorrent client, mostly just due to curiosity about how the protocol works. There were some tricky parts, most of which are outlined in this but I found the underlying concept so simple. I guess simplicity is a requirement for scale and resilience.

I wrote up my adventure too: http://seanjoflynn.com/research/bittorrent.html

this is actually pretty cool. i think cryptocurrencies could benefit from the implementation of some design features from the bittorrent protocol.
Feross has some great implementations of the different pieces of BitTorrent (including parsing torrent files, magnets etc) in JavaScript on his GitHub[0]. Would recommend people take a look if they find this blog post interesting.

[0] - https://github.com/feross?tab=repositories

This is something that's been on my list of things to do for a while and I've never gotten around to it. Thanks for this post.