Live data from Hacker News

Libp2p – A modular network stack

libp2p.io

1–10 of 34 posts

Re: Libp2p – A modular network stack

#3

I went to look at their Go implementation but the libraries are each split into separate Github repos (super annoying) and some of those appear to be non-public/404. Very strange.

> (super annoying)

Why would anyone store different laguage implementations in the same Git repo?

Re: Libp2p – A modular network stack

#4
post #3

I went to look at their Go implementation but the libraries are each split into separate Github repos (super annoying) and some of those appear to be non-public/404. Very strange.

> (super annoying) Why would anyone store different laguage implementations in the same Git repo?

Repo should be organized around project, not language/frameworks. It’s perfectly normal to have library +Python client + Go client in same repo.

Re: Libp2p – A modular network stack

#5
post #4
post #3

Earlier quoted context omitted.

> (super annoying) Why would anyone store different laguage implementations in the same Git repo?

Repo should be organized around project, not language/frameworks. It’s perfectly normal to have library +Python client + Go client in same repo.

Most of the time, I have a repo be an individual unit of testing. I.e. if the python client is broken, does that mean that the go client is broken as well? A large part of this is because its much easier to support testing multi-repos than mono-repos. Multi repos are generally easier to test because you run the entire suite of tests on every pull request whereas in a mono-repo you have to figure out which tests need to be run. All this isnt to say that its impossible (or not beneficial), but that its easier to have multiple repos with the current testing infrastructure (specifically looking at Jenkins). Another difficulty with mono-repos is merging code when something is broken, how do you know whether you should merge or wait for the bug to be fixed?

Re: Libp2p – A modular network stack

#7
Just heads up, people should know libp2p (unless something has changed?) still has flooding problems.

There are other P2P transport alternatives, check out SSB's (it is really good!) or ours (gun.eco/docs/DAM) which prevents flooding. WebRTC and websocket implementations exist.

Re: Libp2p – A modular network stack

#10
post #4
post #3

Earlier quoted context omitted.

> (super annoying) Why would anyone store different laguage implementations in the same Git repo?

Repo should be organized around project, not language/frameworks. It’s perfectly normal to have library +Python client + Go client in same repo.

I can't think of any library for which this is the case, could you give some examples?
Post reply on HN