Hacker News new | past | comments | ask | show | jobs | submit login
How to Write a BitTorrent Client, Part 1 (kristenwidman.com)
184 points by networked on July 5, 2016 | hide | past | favorite | 8 comments



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


For "Writing BitTorrent Client" workshops I've made, I have created "introductory" tracker and peers (they, for example, display friendly errors if you make invalid protocol requests): https://torrent.zielmicha.com/

The source is on Github: https://github.com/zielmicha/torrent-workshops

(unfortunately you need to register before using it, but you can even use fake mail)


If anyone is interested in a similar writeup for a bittorrrent client for node.js, check out my tutorial here: http://allenkim67.github.io/bittorrent/2016/05/04/how-to-mak...


Love! Thanks!


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 actually pretty cool. i think cryptocurrencies could benefit from the implementation of some design features from the bittorrent protocol.


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.


[flagged]


What part of this do you think is illegal?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: