You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A standalone deployment of a libp2p host, running in its own OS process and installing a set of
virtual endpoints to enable co-local applications to: communicate with peers, handle protocols,
interact with the DHT, participate in pubsub, etc. no matter the language they are developed in,
nor whether a native libp2p implementation exists in that language.
Maintainance
The learning-at-home team maintains this fork because the upstream repository (libp2p/go-libp2p-daemon) is not maintained by its original developers anymore.
This fork is used for all networking in Hivemind and Petals projects. This allows us to have protocol-agnostic networking with NAT traversal & libp2p relay features.
Install
This repo uses Go modules. Note that go >=1.12 is required.
$ # outside your GOPATH
$ git clone https://github.com/learning-at-home/go-libp2p-daemon
$ cd go-libp2p-daemon
$ git checkout <release tag, e.g. v0.0.1>
$ go get ./...
$ go install ./...
$ p2pd
Daemon bindings enable applications written in other languages to interact with the libp2p daemon process programmatically, by exposing an idiomatic API that handles the socket dynamics and control protocol.
The following bindings exist so far (if you want yours added, please send a PR):
Go (reference implementation): see the p2pclient package in this repo.