libp2p 网络栈的 JavaScript 实现
> [!NOTE]
> 您是否正在尝试将 libp2p 升级到最新版本?请查看[迁移指南](https://github.com/libp2p/js-libp2p/tree/main/doc/migrations),了解您需要进行的任何更改。
### 项目状态
该项目已在以太坊、IPFS 等生产环境中使用多年。它由多个组织积极维护,并持续改进!API 可能会发生变化,但我们严格遵循语义化版本控制。
主分支中的文档可能包含预发布版本的更改。
如果你正在寻找最新版本的文档,可以在 [npm](https://www.npmjs.com/package/libp2p) 上查看最新版本,或者在 GitHub 中选择与你所查找版本匹配的标签。
> [!TIP]
> 只是想弄清楚这到底是怎么回事?请查看我们的 [GETTING\_STARTED.md](https://github.com/libp2p/js-libp2p/blob/main/doc/GETTING_STARTED.md) 指南和 [示例](https://github.com/libp2p/js-libp2p-examples)。
## 背景
libp2p 是一个漫长而艰巨的探索过程的产物,目的是了解互联网网络栈的演进。为了构建 P2P 应用程序,开发人员长期以来不得不根据自己的需求自行定制临时解决方案,有时还要对其运行时和开发时的网络状态做出一些艰难的假设。今天,回顾 20 多年过去的时间,我们可以看到围绕 Internet 协议 IP 构建的机制类型中存在着明显的规律,这些机制可以在 OSI 层系统的许多层中找到,libp2p 将这些机制提炼为平面类别,并定义了清晰的接口,一旦暴露,就可以使其他协议和应用程序能够使用和交换它们,从而实现运行时的可升级性和适应性,而不会破坏 API。
我们正在编写更好的文档、博客文章、教程和正式的规范。目前您可以找到: