Build your own BitTorrent

Implement a peer-to-peer file distribution client.

advanced
P2P
Networking
Integrity
Concurrency

About this challenge

Deconstruct a popular P2P protocol to learn about resilient distributed systems and practical networking.

What you will build

  • Torrent metadata parser
  • Peer wire protocol with choke/unchoke
  • Piece selection and verification

What you will learn

  • Peer discovery and connection management
  • Throughput and fairness strategies

Getting started

There is no backend work wired yet. When enabled, you will be able to enroll, track progress, and earn badges for completing stages.

For now, explore the curriculum and prepare your environment.

  • Skim all stages to understand the scope
  • Decide your implementation language
  • Set up a project with tests and formatter