go-libp2p

module
v0.0.0-...-339bbda Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 30, 2015 License: MIT

README

libp2p implementation in Go.

[ GoDoc Build Status

libp2p is a networking stack and library modularized out of The IPFS Project project, and bundled separately for other tools to use.

libp2p is the product of a long, and arduous quest of understanding -- a deep dive into the internet's network stack, and plentiful peer-to-peer protocols from the past. Building large scale peer-to-peer systems has been complex and difficult in the last 15 years, and libp2p is a way to fix that. It is a "network stack" -- a protocol suite -- that cleanly separates concerns, and enables sophisticated applications to only use the protocols they absolutely need, without giving up interoperability and upgradeability. libp2p grew out of IPFS, but it is built so that lots of people can use it, for lots of different projects.

We will be writing a set of docs, posts, tutorials, and talks to explain what p2p is, why it is tremendously useful, and how it can help your existing and new projects. But in the meantime, check out

This README is WIP

Directories

Path Synopsis
p2p
crypto
package crypto implements various cryptographic utilities used by ipfs.
package crypto implements various cryptographic utilities used by ipfs.
crypto/pb
Package crypto_pb is a generated protocol buffer package.
Package crypto_pb is a generated protocol buffer package.
crypto/secio
package secio handles establishing secure communication between two peers.
package secio handles establishing secure communication between two peers.
crypto/secio/pb
Package spipe_pb is a generated protocol buffer package.
Package spipe_pb is a generated protocol buffer package.
nat
net
net/mock
Package mocknet provides a mock net.Network to test with.
Package mocknet provides a mock net.Network to test with.
net/swarm
package swarm implements a connection muxer with a pair of channels to synchronize all network communication.
package swarm implements a connection muxer with a pair of channels to synchronize all network communication.
peer
package peer implements an object used to represent peers in the ipfs network.
package peer implements an object used to represent peers in the ipfs network.
peer/addr
Package addr provides utility functions to handle peer addresses.
Package addr provides utility functions to handle peer addresses.
protocol/identify/pb
Package identify_pb is a generated protocol buffer package.
Package identify_pb is a generated protocol buffer package.
test/reconnects
Package reconnect tests connect -> disconnect -> reconnect works
Package reconnect tests connect -> disconnect -> reconnect works
util
eventlog/loggables
Package loggables includes a bunch of transaltor functions for commonplace/stdlib objects.
Package loggables includes a bunch of transaltor functions for commonplace/stdlib objects.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL