这是一个翻译的系列文章,原文参考:Introduction :: libp2p Documentation
欢迎来阅读libp2p相关文档,不论你是刚开始学习如何用libp2p来搭建P2P系统, 还是想潜心研究P2P相关概念和解决方案,亦或者是查阅相关的详细的参考信息,这里都是个很好的开始。
综述
libp2p是什么?( What is libp2p?) 这个章节介绍了libp2p的基本信息和目前已公布的问题的概要信息
教程
如果你想进一步研究libp2p,你可以查阅我们的教程( tutorials), 它可以成为你学习libp2p的指南。
实例
如果你是想知道libp2p是什么, 或者只是想看它如何使用,可以查阅实例(examples)。每一个libp2p的实现都是一组可工作的实例项目, 用于展现关键概念和用例。
参考
规范和规划
虽然libp2p有多种不同的实现,但是它基本上是一组用于对等点标识、发现、路由、传输等的协议。
详细信息可以阅读规范说明章节( specifications section)
实现
Libp2p的核心是一组规范集合( specifications), 这是规范组合在一起从抽象概念上定义了什么是libp2p 和怎么做才是libp2p的正确实现。现今libp2p有着几种不同编程语言的实现,并且每个都有着不同的完成度。由Go和JavaScript编写的完成度最高,另外用rust语言编写的也正在快速成熟。
除了上面已经提到的,libp2p社区也正在积极的用python来实现libp2p和用Kotlin实现JVM。请通过查看项目主页来获得每个项目实现的状态和完成状态。
社区
在 https://discuss.ipfs.io网站上,你可以联系在libp2p社区使用libp2p编写工具和应用程序的成员,可以向他们提相关问题,讨论新的想法或就某些问题获得支持等,并且你也可以到IRC(hop on IRC)进行快速交谈。
在社区章节可以看到更多的链接,通过这些链接可以查看更多的关于会议,事件,apps等的更多信息。
关于在这社区中对libp2p和其他软件项目做出贡献的信息也都可以在这查看到。
加入我们
Libp2p是一个社区开源项目。虽然协议实验室( Protocol Labs)能够赞助一些与其相关的工作,但是大部分工作,包括设计,编码,都是由像你这样的社区成员和志愿者来完成的。如果你有兴趣来帮助完善libp2p,可以先从阅读贡献指南(contributing )开始。
如果你想编写新的代码,请先阅读贡献指南(contribution guidelines)和代码风格说明书。
关联项目
Libp2p在开始的时候是IPFS项目的一部分, 也是IPFS项目的基本组件。因此,libp2p能够与IPFS家族的项目的抽象概念和工具完美的结合。你可以去查看他们各自的网站来获得更多信息。
IPFS 是星际文件系统, 是使用libp2p作为它的网络层。
Multiformats是各种自描述数据格式系统
IPLD 是一系列用于描述地址-内容链接的工具,比如IPFS 文件, Git commits, or Ethereum blocks.
The Permissive License Stack 是一个为软件开发提供特许策略的工具,这个非常适合开源项目。