swrm development log: 00
For years, I’ve used the “torrent system” for various, um… purposes. I knew what seeders and leechers were, how the system was affected by the ratio, and other basics. But, I never really looked deep into it. So, I decided to do some reading. I went through a few videos and articles, explaning the tech behind it. This led me to a rabbit hole of learning about p2p & distributed networks. I’ve also been using the Go programming language on a few things recently, as I really love the way it’s written. It’s really clean.
So, after some thinking, I decided to build a BitTorrent client in Go. I know, they already exist, there are tons of clients, and I used to use deluge, but now I prefer qBittorrent. But, I want to build one, because, I want to understand them more & I really want to write more code in Go (i don’t get to write it much TT).
I’ll start off with building a single file torrent client and then go from there. I’ll obviously be writing this in Go. I don’t want to rely on any libraries for bencoding etc., I’ll build everything from scratch. The idea is to understand the systems better and I want to dive more into distributed system software. I have some ideas, and this project will give me some insight on polishing my ideas.
(also it would be really cool, to switch qbittorrent with my own software :p)
I’ve created a repo for this project. I’ll also add more devlogs for this project with more updates to come.
That’s it, Bye!