Libp2p: status of go version vs js version

I’m working on a greenfield project and considering using libp2p – either go or js. I’m wondering if one is more baked than the other? Is there a feature / status matrix somewhere by chance? Any information very much appreciated. Thanks!

1 Like

The js and go implementations are near parity these days but each has areas where it’s more useful. A feature/status matrix is a great idea. I’ve made a GH issue for it and assigned myself.

Short version: If you’re building something that will run in the web browser, js-ipfs and js-libp2p are for you. If you’re building something that end-users will install on their machines, you probably want go-ipfs. If you’re building a desktop application (ie. an electron app) you will probably end up using js-ipfs client libraries in the end-user UI and run a go-ipfs node as a background process. If you’re building something that sometimes runs in browsers and sometimes runs as an installed app (like Slack), you will probably end up using both.

2 Likes

Hi!

I’ve been polishing js-libp2p repo and crafting new examples (more like tutorials) to explain how it works internally, check out:

Hope this helps get you started :slight_smile:

1 Like

A quick update here, this new post on ipfs/notes – https://github.com/ipfs/notes/issues/256 – should clarify how to effectively develop an electron app and use IPFS from inside of it.