# grenache-grape 中文文档

规范地址：https://npmcn.com/package/grenache-grape/

版本：2\.0\.0
npm 元数据更新时间：2026-11-03T17:01:59.402Z
中文译文更新时间：2026-11-03T19:10:42.573Z
软件包许可：Apache-2\.0

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

原始 npm 页面：https://www.npmjs.com/package/grenache-grape
原文对照：https://npmcn.com/package/grenache-grape/?lang=original
项目主页：https://github.com/bitfinexcom/grenache-grape#readme
源码仓库：https://github.com/bitfinexcom/grenache-grape

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

- 包体积（解压后）：66 kB，22 个文件
- 模块格式：CommonJS
- TypeScript 类型：未声明
- Node.js 要求：\>=22\.0
- 运行依赖：7 个
- 首次发布：2016-04-03T12:51:00.890Z
- 最新版本发布：2026-11-03T17:01:59.194Z
- 已发布版本数：48（近 12 个月 1 个）

## 中文简介

歌海娜葡萄- DHT微服务

## 安装

```sh
npm install grenache-grape
```

也可以使用：`pnpm add grenache-grape`、`yarn add grenache-grape`、`bun add grenache-grape`

## README

# [歌海娜](https://github.com/bitfinexcom/grenache) 葡萄的实现

![](https://npmcn.com/package/grenache-grape/logo.png)

Grenache是一个连接微服务的微框架。它的简单和优化的性能。

在内部，Grenache使用分布式哈希表（DHT, Bittorrent）进行点对点连接。你可以在网站上找到更多关于Grenche内部运作的细节 [项目主页](https://github.com/bitfinexcom/grenache)。

葡萄是歌海娜的主要原料。他们管理DHT，我们虚拟网络的基础。

## 安装

```
// Install global (run binary)
npm install -g grenache-grape
```

```
// Install locally to project (programmatic approach)
npm install --save grenache-grape
```

## 以二进制模式运行

```
grape --help

Usage: grape --dp <dht-port> --aph <http-api-port> --bn <nodes> [--b
bind-to-address]

Options:
  -b, --bind                 Listening host                             [string]
  --dp, --dht_port           DHT listening port              [number] [required]
  --dc, --dht_concurrency    DHT concurrency                            [number]
  --dht_maxTables            DHT max tables                             [number]
  --dht_maxValues            DHT max values                             [number]
  --bn, --bootstrap          Bootstrap nodes                 [string] [required]
  --aph, --api_port          HTTP api port                   [number] [required]
  --dht_peer_maxAge, --dpa   Max age for peers in DHT                   [number]
  --cache_maxAge             Maximum cache age                          [number]
  --dnl, --dht_nodeLiveness  Interval in ms to check for dead nodes     [number]
  --check_maxPayloadSize     Limit for max payload size                 [number]
  --help                     Show help                                 [boolean]
  --version                  Show version number                       [boolean]
```

```
// Run 3 Grapes
grape -b 127.0.0.1 --dp 20001 --dc 32 --aph 30001 --bn '127.0.0.1:20002,127.0.0.1:20003'
grape --dp 20002 --aph 40001 --dc 32 --bn '127.0.0.1:20001,127.0.0.1:20003'
grape --dp 20003 --aph 50001 --dc 32 --bn '127.0.0.1:20001,127.0.0.1:20002'
```

## 集成到您的代码中

```
const Grape = require('grenache-grape').Grape

const g = new Grape({
  // host: '127.0.0.1', // if undefined the Grape binds all interfaces
  dht_port: 20001,
  dht_bootstrap: [
    '127.0.0.1:20002'
  ],
  api_port: 30001
})

g.start()
```

## API

### 类:葡萄

#### 新的葡萄(选项)

-   `options` <Object>链接的选项
    -   `host` <String>要绑定的IP。如果为空，则Grape绑定到所有接口
    -   `dht_maxTables` <Number> DHT表的最大数目
    -   `dht_maxValues` <Number> DHT值的最大数目
    -   `dht_port` <Number> DHT的端口号
    -   `dht_concurrency` <Number> DHT的并发性
    -   `dht_bootstrap`： <Array>启动服务器
    -   `dht_peer_maxAge` <Number> DHT对等体的maxAge
    -   `api_port` <Number>歌海娜API HTTP端口

#### 事件:“准备好了”

DHT完全启动时触发。

#### 事件:“听”

DHT正在监听时发出。

#### 事件:“对等”

当找到潜在对等体时触发。

#### 事件:“节点”

DHT发现新节点时触发。

#### 事件:“警告”

当对等体宣布自己时发出，以便存储在DHT中。

#### 事件:“宣布”

当对等体宣布自己时发出，以便存储在DHT中。

## 实现

### node . js的客户

-   https://github.com/bitfinexcom/grenache-nodejs-ws：基于WebSocket的Grape微服务
-   https://github.com/bitfinexcom/grenache-nodejs-http：基于HTTP的Grape微服务
-   https://github.com/bitfinexcom/grenache-nodejs-zmq：基于ZeroMQ的Grape微服务

### Ruby客户

-   https://github.com/bitfinexcom/grenache-ruby-ws：基于WebSocket的Grape微服务
-   https://github.com/bitfinexcom/grenache-ruby-http：基于HTTP的Grape微服务

### CLI的客户

-   https://github.com/bitfinexcom/grenache-cli: Grape微服务的命令行接口

## 常见问题

### grenache-grape 是什么？

歌海娜葡萄- DHT微服务

### 如何安装 grenache-grape？

在项目目录运行 npm install grenache-grape，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 grape，可以用 npx grape 直接运行。

### grenache-grape 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/grenache-grape 是否存在。

### grenache-grape 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### grenache-grape 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=22\.0。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### grenache-grape 可以商用吗？

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

### grenache-grape 还在维护吗？

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

