libp2p is used by IPFS as its networking library.
libp2p被用作IPFS的网络层。
使用libp2p的一个节点可以另一个节点进行通信能够使用各种不同的传输方式,这些传输方式包括连接延迟,以及通过不同协议进行通信,并根据需求进行协商。
libp2p汇集了各种传输和点对点协议,使开发人员可以轻松构建大型,强大的p2p网络。开发者构建一个p2p网络并不是一件容易的事情。复杂的网络环境、各种各样的通信协议和网络设备的存在使得创建大规模的点对点网络变得复杂并且困难。IPFS团队将点对点(peer-to-peer)网络的网络层从IPFS工程里面分离出来,形成一个独立的项目,这就是libp2p。该项目不仅可以供IPFS使用,也可以提供其它项目使用,作为一个p2p工程的底层协议存在。
资源:
https://github.com/libp2p/libp2p
技术文档:https://github.com/libp2p/specs
libp2p是一套点对点的协议来发现节点,并连接他们,发现内容,并转移它们。
libp2p的主要功能是:
发现节点
连接节点
发现数据
传输数据
The whole of IPFS is made up of libp2p modules
整个IPFS是由libp2p等模块构成,libp2p是一个模块化网络堆栈。