HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
brendoncarroll
go-p2p
Go2021–2022
brendoncarroll / go-p2p

go-p2p

Message-Based P2P Networking Library

2Distinct people
3Mentions
0Explicit recommenders
32GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Message-Based P2P Networking Library

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 5:04:57 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by month3 dated mentions

Observed mentions: 2021-05-16 19:27:48 UTC to 2022-03-28 02:17:07 UTC.

012021-05-01 00:00:00 UTC to 2021-06-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsMay 20212021-06-01 00:00:00 UTC to 2021-07-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-07-01 00:00:00 UTC to 2021-08-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-08-01 00:00:00 UTC to 2021-09-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-09-01 00:00:00 UTC to 2021-10-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-10-01 00:00:00 UTC to 2021-11-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsOct 20212021-11-01 00:00:00 UTC to 2021-12-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-12-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2022-01-01 00:00:00 UTC to 2022-02-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2022-02-01 00:00:00 UTC to 2022-03-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2022-03-01 00:00:00 UTC to 2022-04-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 commentsMar 2022

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
May 20212021-05-01 00:00:00 UTC2021-06-01 00:00:00 UTC101
Jun 20212021-06-01 00:00:00 UTC2021-07-01 00:00:00 UTC000
Jul 20212021-07-01 00:00:00 UTC2021-08-01 00:00:00 UTC000
Aug 20212021-08-01 00:00:00 UTC2021-09-01 00:00:00 UTC000
Sep 20212021-09-01 00:00:00 UTC2021-10-01 00:00:00 UTC000
Oct 20212021-10-01 00:00:00 UTC2021-11-01 00:00:00 UTC000
Nov 20212021-11-01 00:00:00 UTC2021-12-01 00:00:00 UTC000
Dec 20212021-12-01 00:00:00 UTC2022-01-01 00:00:00 UTC101
Jan 20222022-01-01 00:00:00 UTC2022-02-01 00:00:00 UTC000
Feb 20222022-02-01 00:00:00 UTC2022-03-01 00:00:00 UTC000
Mar 20222022-03-01 00:00:00 UTC2022-04-01 00:00:00 UTC110

What Hacker News says

3 sources
After reading a little through the WebFS [1] filesystem approach that it seems to be based upon: why did you not try to stay RFC compliant with say, WebDAV [2] or similar alternatives? From a versioning control point of view WebDAV seems to be exactly the thing that you're trying to achieve, especially in regards to Delta-V? I might be wrong, did I miss something? I guess what I'm trying to find out is what the ultimate goals or features of the WebFS are, given that WebDAV exists and is supported by git as a remote filesystem. WebDAV seems to have a specification and lots of support by other server implementations, so I'm wondering what kind of featureset was missing in there that WebFS now includes. The overall internal cell/branch structure of got seems to be similar to how git uses blobs and trees as a list of references to blobs. You
Read the rest
seem to have also built a p2p library which I found pretty neat and might also be interesting to other HN readers (go-p2p) [3] that you use now as a transport layer. What I specifically liked about it is that it's based on QUIC, so it has no troubles staying under the radar of traffic classification, while still being able to punch holes. The generic abstraction by different protocols is really nice, and similar to what I've tried to do with my p2p networks. Seeing network protocols just as a way to transport (or encapsulate) things usually makes the logic behind swarm interactions more robust. [1] https://github.com/brendoncarroll/webfs/blob/master/pkg/webf... [2] https://datatracker.ietf.org/doc/html/rfc4918 [3] https://github.com/brendoncarroll/go-p2p
In Show HN: Got is like Git, but with an 'o'
A message based p2p library. https://github.com/brendoncarroll/go-p2p There is a single abstraction (the Swarm) which is capable of modeling communication, NAT, and identity. And you can layer them (Swarms) to provide whatever functionality you need. For the most part, you communicate using tell or ask methods. The big name in this space is lib-p2p. It doesn’t have a UDP transport (it exists but is incomplete), and the examples were focused on manipulating streams so it wasn’t clear how to model message based communication from reading the docs. You also have to buy into many other abstractions when you use it e.g. multiaddrs.
In Ask HN: What are some tools / libraries you built yourself?

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.