Getting started with libp2p


I am wanting to use libp2p pubsub for a project in Elixir. There is an “official” implementation for erlang by helium: GitHub - helium/erlang-libp2p: An Erlang implementation of libp2p swarms

However there is absoulutely no Hello, world-template; no examples - nothing. I can’t find any documentation, other than the inline-generated docs. This documentation is a bit far from the official go, rust, javascript, so I can’t do a “translation”.

The project seems dead, when you look at the github repo, but the helium miner seems alive.

Has anyone got any info or example code to show, that uses libp2p? Is you have written some pubsub that would be the best.

At this time anything, literally anything related is appreciated.

1 Like

It seems to have a very rich test suite. Maybe this example will help.

1 Like

Indeed. That might help a little. Thanks.

1 Like

FYI and future readers:

For my need it was easier to learn go this time around. If anyone else needs a simple libp2p pubsub daemon, as a backend for other libp2p / ipfs needs then GitHub - bahner/myspace-pubsub-daemon: A pubsub backend daemon for myspace

It not erlang, but it should supplement libp2p prototyping OK. It’s a backend servive like vault or kubo.

1 Like

The project is indeed effectively dead, as are miner and blockchain-core which depend on it. Helium’s architecture has taken a new direction and there’s no longer a need for any of these. Historically, the project’s goal was not libp2p per se and the erlang-libp2p library was just a component whose source was made available - someone may or may not find it useful.

Other than tests there’re really no quick examples which were meant to be useful as such. Reading the diagrams in /doc, the test suite as well as miner and core repos may be helpful, but personally I wouldn’t bother unless I intended to fork and maintain the repo.

You probably made the right call :slight_smile:

1 Like

Ah. Good to know. Thanls for the update.