a libp2p-backed daemon wrapping the functionalities of go-libp2p for use in other languages
Go to file
vyzo 656f32ff82 gomod: update go-libp2p go-libp2p-circuit 2019-04-08 19:13:56 +03:00
.gx gx publish 0.0.20 2019-03-20 13:40:31 -07:00
p2p-keygen p2p-keygen: key generator for persistent identities 2018-09-23 15:05:11 +03:00
p2pclient Implement pubsub features for daemon client 2019-03-13 18:10:15 -04:00
p2pd Qualify imports 2019-03-18 12:31:59 -04:00
pb gx publish 0.0.11 2019-02-18 17:27:44 +01:00
specs docs: add LIST_PEERS to control spec 2019-03-19 13:58:21 +01:00
test Implement pubsub features for daemon client 2019-03-13 18:10:15 -04:00
.travis.yml add gomod support // tag v0.0.1. 2019-03-02 01:13:12 +00:00
LICENSE-APACHE dual-license ASLv2 + MIT. 2018-12-17 14:03:11 +00:00
LICENSE-MIT dual-license ASLv2 + MIT. 2018-12-17 14:03:11 +00:00
Makefile makefile 2018-09-13 16:58:43 +03:00
README.md go 1.12 is required for quic 2019-04-05 14:45:21 +03:00
ROADMAP.md fix documentation issues 2018-12-27 12:38:22 +02:00
bootstrap.go Address PR feedback 2019-02-05 09:16:01 +11:00
codecov.yml enable Travis and Codecov. 2018-09-27 16:12:11 +01:00
conn.go review notes 2018-12-27 12:38:22 +02:00
connmgr.go implement conn manager api 2018-10-28 14:21:30 +02:00
daemon.go trap signals only on posix systems. 2019-02-14 16:30:17 +00:00
dht.go review notes 2018-12-27 12:38:22 +02:00
go.mod gomod: update go-libp2p go-libp2p-circuit 2019-04-08 19:13:56 +03:00
go.sum gomod: update go-libp2p go-libp2p-circuit 2019-04-08 19:13:56 +03:00
identity.go p2p-keygen: key generator for persistent identities 2018-09-23 15:05:11 +03:00
package.json gx publish 0.0.20 2019-03-20 13:40:31 -07:00
pubsub.go pubsub api implementation 2018-12-03 12:05:45 +02:00
stream.go review notes 2018-12-27 12:38:22 +02:00
trap_nonposix.go trap signals only on posix systems. 2019-02-14 16:30:17 +00:00
trap_posix.go trap signals only on posix systems. 2019-02-14 16:30:17 +00:00

README.md

libp2p Daemon

GoDoc Coverage Status Build Status

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.

🚧 This project is under active development! 🚧

Check out the ROADMAP to see what's coming.

Install

This repo uses Go modules. Note that go >=1.12 is required.

$ # outside your GOPATH
$ git clone https://github.com/libp2p/go-libp2p-daemon
$ cd go-libp2p-daemon
$ git checkout <release tag, e.g. v0.0.1>
$ go get ./...
$ go install ./...
$ p2pd

See available releases.

Usage

Check out the GoDocs.

Language Bindings

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):

If you wish to implement bindings in a new language, refer to the spec for the daemon control protocol and API.

Contribute

Feel free to join in. All welcome. Open an issue!

This repository falls under the IPFS Code of Conduct.

License

MIT