The PubSub implementation for go-libp2p https://github.com/libp2p/specs/tree/master/pubsub
Go to file
vyzo 51b7501433
Merge pull request #140 from libp2p/documentation
Some documentation
2019-01-04 14:01:48 +02:00
.gx gx publish 0.11.10 2018-12-27 11:50:13 +02:00
ci Create Jenkinsfile 2017-11-27 13:15:23 +01:00
pb move to go-libp2p-pubsub 2018-10-18 21:10:16 +01:00
.gitignore gx publish v0.5.0 2016-09-14 15:27:34 -07:00
.travis.yml ci: bump go to 1.11 2018-10-25 06:46:04 -07:00
LICENSE use timecache 2016-09-10 20:47:12 -07:00
Makefile use timecache 2016-09-10 20:47:12 -07:00
README.md update README 2019-01-04 13:13:59 +02:00
codecov.yml Update Travis CI to use standard test script and go 1.9.x. 2017-11-17 22:36:56 -05:00
comm.go discriminate stream errors from unsupported protocols 2018-12-14 00:33:30 +02:00
doc.go add doc.go for package documentation 2019-01-04 13:14:04 +02:00
floodsub.go godoc cosmetics 2019-01-04 13:14:04 +02:00
floodsub_test.go rework peer tracking logic to handle multiple connections 2018-12-13 19:53:12 +02:00
gossipsub.go godoc cosmetics 2019-01-04 13:14:04 +02:00
gossipsub_test.go move to go-libp2p-pubsub 2018-10-18 21:10:16 +01:00
mcache.go move to go-libp2p-pubsub 2018-10-18 21:10:16 +01:00
mcache_test.go move to go-libp2p-pubsub 2018-10-18 21:10:16 +01:00
notify.go simplify peer disconnect detection logic to ensure a single outgoing stream 2018-12-13 22:52:59 +02:00
package.json gx publish 0.11.10 2018-12-27 11:50:13 +02:00
pubsub.go godoc cosmetics 2019-01-04 13:14:04 +02:00
randomsub.go godoc cosmetics 2019-01-04 13:14:04 +02:00
sign.go move to go-libp2p-pubsub 2018-10-18 21:10:16 +01:00
sign_test.go move to go-libp2p-pubsub 2018-10-18 21:10:16 +01:00
subscription.go move to go-libp2p-pubsub 2018-10-18 21:10:16 +01:00

README.md

go-libp2p-pubsub

A pubsub system with flooding and gossiping variants.

This is the canonical pubsub implementation for libp2p.

We currently provide three implementations:

  • floodsub, which is the baseline flooding protocol.
  • gossipsub, which is a more advanced router with mesh formation and gossip propagation. See spec and implementation for more details.
  • randomsub, which is a simple probabilistic router that propagates to random subsets of peers.

Table of Contents

Install

go get github.com/libp2p/go-libp2p-pubsub

Usage

To be used for messaging in p2p instrastructure (as part of libp2p) such as IPFS, Ethereum, other blockchains, etc.

Implementations

See libp2p/specs/pubsub#Implementations.

Documentation

See the libp2p specs for high level documentation and godoc for API documentation.

Contribute

Contributions welcome. Please check out the issues.

Check out our contributing document for more information on how we work, and about contributing in general. Please be aware that all interactions related to multiformats are subject to the IPFS Code of Conduct.

Small note: If editing the README, please conform to the standard-readme specification.

License

MIT © Jeromy Johnson