# @chainsafe/libp2p-gossipsub 中文文档

规范地址：https://npmcn.com/package/%40chainsafe/libp2p-gossipsub/

版本：14\.1\.2
npm 元数据更新时间：2026-04-21T09:51:52.353Z
中文译文更新时间：2026-11-09T09:36:11.550Z
软件包许可：Apache-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40chainsafe/libp2p-gossipsub
原文对照：https://npmcn.com/package/%40chainsafe/libp2p-gossipsub/?lang=original
项目主页：https://github.com/ChainSafe/js-libp2p-gossipsub#readme
源码仓库：https://github.com/ChainSafe/js-libp2p-gossipsub

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：1.1 MB，155 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：14 个
- 首次发布：2022-05-10T21:57:18.218Z
- 最新版本发布：2025-09-18T12:16:09.587Z
- 近 30 天下载量：84254（2026-10-10 至 2026-11-08，npm 官方下载统计）
- 已发布版本数：53（近 12 个月 0 个）

## 中文简介

八卦台子的打字程序执行

## 安装

```sh
npm install @chainsafe/libp2p-gossipsub
```

也可以使用：`pnpm add @chainsafe/libp2p-gossipsub`、`yarn add @chainsafe/libp2p-gossipsub`、`bun add @chainsafe/libp2p-gossipsub`

## README

# js- libp2p- gosipsub (日语)

[![](https://img.shields.io/badge/made%20by-ChainSafe-blue.svg?style=flat-square)](https://chainsafe.io/) [![Travis CI](https://flat.badgen.net/travis/ChainSafe/gossipsub-js)](https://travis-ci.com/ChainSafe/gossipsub-js) ![ES Version](https://img.shields.io/badge/ES-2017-yellow) ![Node Version](https://img.shields.io/badge/node-10.x-green)

## 目录

-   [js- libp2p- gosipsub (日语)](https://npmcn.com/package/%40chainsafe/libp2p-gossipsub/#readme-js-libp2p-gossipsub)
    -   [主维护者](https://npmcn.com/package/%40chainsafe/libp2p-gossipsub/#readme-lead-maintainer)
    -   [目录](https://npmcn.com/package/%40chainsafe/libp2p-gossipsub/#readme-table-of-contents)
    -   [光谱](https://npmcn.com/package/%40chainsafe/libp2p-gossipsub/#readme-specs)
    -   [安装](https://npmcn.com/package/%40chainsafe/libp2p-gossipsub/#readme-install)
    -   [使用量](https://npmcn.com/package/%40chainsafe/libp2p-gossipsub/#readme-usage)
    -   [API 密码](https://npmcn.com/package/%40chainsafe/libp2p-gossipsub/#readme-api)
        -   [创建八卦子执行](https://npmcn.com/package/%40chainsafe/libp2p-gossipsub/#readme-create-a-gossipsub-implementation)
    -   [贡献](https://npmcn.com/package/%40chainsafe/libp2p-gossipsub/#readme-contribute)
    -   [许可证](https://npmcn.com/package/%40chainsafe/libp2p-gossipsub/#readme-license)

## 光谱

Gossipsub是基于meshsub和洪水来实施pubsub的. 您可以读取规格 [这里](https://github.com/libp2p/specs/tree/master/pubsub/gossipsub)。 。 。 .

`libp2p-gossipsub` 目前执行 [`v1.1`](https://github.com/libp2p/specs/blob/master/pubsub/gossipsub/gossipsub-v1.1.md) 的光谱.

## 安装

`npm install @chainsafe/libp2p-gossipsub`

## 使用量

```javascript
import { gossipsub } from '@chainsafe/libp2p-gossipsub'


const libp2p = await createLibp2p({
  // ...
  services: {
    pubsub: gossipsub(options)
  }
});

libp2p.services.pubsub.addEventListener('message', (message) => {
  console.log(`${message.detail.topic}:`, new TextDecoder().decode(message.detail.data))
})

libp2p.services.pubsub.subscribe('fruit')

libp2p.services.pubsub.publish('fruit', new TextEncoder().encode('banana'))
```

## API 密码

### 创建八卦子执行

```js
const options = {…}
const gossipsub = gossipsub(options)(libp2p)
```

选项是具有以下密钥值对的可选对象:

-   **`emitSelf`**:布尔 识别当主题被订阅时,节点是否应在发布时自动发出(默认为 **虚假**) (中文(简体) ).
-   **`gossipIncoming`**:布尔识别是否应当自动八卦(默认为 **真实**) (中文(简体) ).
-   **`fallbackToFloodsub`**:布尔 识别节点是否应该回落到洪积协议中, 如果另一个连接端点不支持八卦子( 默认为 **真实**) (中文(简体) ).
-   **`floodPublish`**:布尔识别是否应当向所有对等端发送自发信件,(默认为 **真实**) (中文(简体) ).
-   **`doPX`**: 布尔识别是否启用了 PX; 应在靴子和连接/信任的其他节点中启用( 默认为 **虚假**) (中文(简体) ).
-   **`msgIdFn`**: 带有签名的函数 `(message) => string` 定义给定的消息 id, 用于内部去除八卦( 默认为 `(message) => message.from + message.seqno.toString('hex')`(中文(简体) )
-   **`signMessages`**: 布尔识别是否要签名发出的信件( 默认 : `true`(中文(简体) )
-   **`strictSigning`**: 布尔识别是否需要信件签名(默认: `true`(中文(简体) )
-   **`messageCache`**: 可选, 定制 `MessageCache` 实例,参见接口的执行.
-   **`scoreParams`**:可选,一个定制的对等分参数Object.
-   **`scoreThresholds`**:可选,一个定制的同平分阈值对象.
-   **`directPeers`**: 可选,一组 `AddrInfo` 与我们保持直接联系的同伴.

关于其余的API,见 [@ libp2p/ 界面- pubsub](https://github.com/libp2p/js-libp2p-interfaces/tree/master/packages/interface-pubsub)。 。 。 .

## 贡献

该单元正在积极开发中。 请检查出问题并提交公关!

## 许可证

MIT 链安全系统

## 常见问题

### @chainsafe/libp2p-gossipsub 是什么？

八卦台子的打字程序执行

### 如何安装 @chainsafe/libp2p-gossipsub？

在项目目录运行 npm install @chainsafe/libp2p-gossipsub，或使用 pnpm add / yarn add / bun add。

### @chainsafe/libp2p-gossipsub 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @chainsafe/libp2p-gossipsub 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @chainsafe/libp2p-gossipsub 可以商用吗？

@chainsafe/libp2p-gossipsub 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @chainsafe/libp2p-gossipsub 的下载量有多少？

根据 npm 官方下载统计，@chainsafe/libp2p-gossipsub 在 2026/10/10 – 2026/11/08 这 30 天内被下载 84,254 次，日均约 2,808 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @chainsafe/libp2p-gossipsub 还在维护吗？

最新版本 14\.1\.2 发布于 2025/09/18（1\.1 年前）；至今共发布 53 个版本，其中过去 12 个月发布了 0 个；首次发布于 2022/05/11。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

