[HN Gopher] Building a BitTorrent client from the ground up in Go
       ___________________________________________________________________
        
       Building a BitTorrent client from the ground up in Go
        
       Author : stargrave
       Score  : 226 points
       Date   : 2022-11-06 18:01 UTC (4 hours ago)
        
 (HTM) web link (blog.jse.li)
 (TXT) w3m dump (blog.jse.li)
        
       | adastra22 wrote:
       | Thanks, this is really cool. I don't have anything to add; I just
       | want to let the author know this is appreciated. I recently
       | decided to learn Go, and articles like this are a great way to
       | get a feel for how Go programmers think about solving problems
       | with the tools available to them. The kind of knowledge you don't
       | get from just skimming The Go Programming Language and such.
        
       | chrsig wrote:
       | Great post
       | 
       | One nit, with the font:                   l4:spami7ee
       | 
       | the first two characters look an awful lot like the number "14",
       | when they're actually "L4". I'm not sure if bencoding is case
       | sensitive or if anohter font may better differentiate the two,
       | but that may be something the author may want to poke at if they
       | happen to read this comment :)
        
         | fazfq wrote:
         | The l looks taller than the 4 to me, which makes it clear it's
         | not another number
        
       | mdaniel wrote:
       | The project author's previous submission:
       | https://news.ycombinator.com/item?id=21958359
        
         | andirk wrote:
         | They're big fans of bittorrent, it appears.
        
       | throwaway894345 wrote:
       | This didn't dive into it, but I appreciated the suggested search
       | terms for information on decentralized peer discovery. I always
       | wondered how that would work, especially the bootstrapping
       | process. Ultimately I found this StackOverflow answer to be
       | really helpful: https://stackoverflow.com/a/22240583
        
         | banana_giraffe wrote:
         | One of the things that made the bootstrapping click for me was
         | realizing there are in fact servers that DHT clients talk to
         | once to find an entrance to the network. They all have a list
         | (such as
         | https://github.com/qbittorrent/qBittorrent/blob/c80238d66ff3...
         | )
        
       | riley_dog wrote:
       | This looks to have been written on Jan 4, 2020.
        
       | unboxingelf wrote:
       | As someone who writes Go code daily, nice Go code!
        
       ___________________________________________________________________
       (page generated 2022-11-06 23:00 UTC)