Skip to content
Example libp2p applications
Branch: master
Clone or download
Latest commit b7ac9e9 Jun 28, 2019

go-libp2p examples and tutorials

Discourse posts

In this folder, you can find a variety of examples to help you get started in using go-libp2p. Every example as a specific purpose and some of each incorporate a full tutorial that you can follow through, helping you expand your knowledge about libp2p and p2p networks in general.

Let us know if you find any issue or if you want to contribute and add a new tutorial, feel welcome to submit a pr, thank you!

Examples and Tutorials


When building the examples ensure you have a clean $GOPATH. If you have checked out and built other libp2p repos then you may get errors similar to the one below when building the examples. Note that the use of the gx package manager is not required to run the examples or to use libp2p.

$:~/go/src/$ go build host.go 
# command-line-arguments
./host.go:36:18: cannot use priv (type "".PrivKey) as type "gx/ipfs/QmNiJiXwWE3kRhZrC5ej3kSjWHm337pYfhjLGSCDNKJP2s/go-libp2p-crypto".PrivKey in argument to libp2p.Identity:
        "".PrivKey does not implement "gx/ipfs/QmNiJiXwWE3kRhZrC5ej3kSjWHm337pYfhjLGSCDNKJP2s/go-libp2p-crypto".PrivKey (wrong type for Equals method)
                have Equals("".Key) bool
                want Equals("gx/ipfs/QmNiJiXwWE3kRhZrC5ej3kSjWHm337pYfhjLGSCDNKJP2s/go-libp2p-crypto".Key) bool

To obtain a clean $GOPATH execute the following:

> mkdir /tmp/libp2p-examples
> export GOPATH=/tmp/libp2p/examples

The last gx published version of this module was:

You can’t perform that action at this time.