# @bluefin-exchange/bluefin7k-aggregator-sdk 中文文档

规范地址：https://npmcn.com/package/%40bluefin-exchange/bluefin7k-aggregator-sdk/

版本：7\.7\.0
npm 元数据更新时间：2026-09-28T09:54:51.490Z
中文译文更新时间：2026-11-08T08:28:45.907Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40bluefin-exchange/bluefin7k-aggregator-sdk
原文对照：https://npmcn.com/package/%40bluefin-exchange/bluefin7k-aggregator-sdk/?lang=original
项目主页：https://github.com/fireflyprotocol/bluefin7k-typescript-sdk#readme
源码仓库：https://github.com/fireflyprotocol/bluefin7k-typescript-sdk

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

- 包体积（解压后）：189 kB，210 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=24
- 运行依赖：1 个
- peer 依赖：@mysten/sui ^2\.31\.3，@pythnetwork/pyth-sui-js ^4\.0\.0
- 首次发布：2025-06-06T14:08:18.174Z
- 最新版本发布：2026-09-28T09:54:51.027Z
- 近 30 天下载量：26075（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：60（近 12 个月 40 个）

## 中文简介

`bash npm i @bluefin-exchange/bluefin7k-aggregator-sdk`

## 安装

```sh
npm install @bluefin-exchange/bluefin7k-aggregator-sdk
```

也可以使用：`pnpm add @bluefin-exchange/bluefin7k-aggregator-sdk`、`yarn add @bluefin-exchange/bluefin7k-aggregator-sdk`、`bun add @bluefin-exchange/bluefin7k-aggregator-sdk`

## README

# 蓝鳍7克聚合物类型SDK

## 安装

```bash
npm i @bluefin-exchange/bluefin7k-aggregator-sdk
```

此软件包需要 `@pythnetwork/pyth-sui-js` 作为同伴的依赖。 狦 工程没有, 您需要安装它 .

```bash
npm i @pythnetwork/pyth-sui-js
```

## 使用量

您可以导入整个 SDK 作为模块 :

```typescript
import SevenK from "@bluefin-exchange/bluefin7k-aggregator-sdk";
```

或根据需要导入特定功能:

```typescript
import { getQuote, buildTx } from "@bluefin-exchange/bluefin7k-aggregator-sdk";
```

## 配置

配置是可选的,但如果提供,则必须在引用任何 SDK函数.

### 设置 API 密钥

您可以使用我们的 SDK , 默认利率限制为 **每秒5个请求** 不需要 API 密钥.

-   对于 **前端( 浏览器) 使用**,则不需要 API 密钥,且利率 限制不能增加.
    
-   对于 **后端( 服务器侧) 使用**,API 键是 **选项** 默认值 用途。 然而,要求 **提高费率限额**,您必须同时提供 **API 密钥** 财务报告和审定财务报表 **合作伙伴信息**。 。 。 .
    

要求提高税率,请按要求提交 [解析器](https://discord.gg/bluefinapp)。 。 。 . 为 Bluefin7k 聚合器创建一张票来请求 API 密钥 .

| 使用量 | 需要的 API 密钥 | 默认利率限制 | 可以请求更高的费率限制 |
| --- | --- | --- | --- |
| 前端 | 没有 | 5项请求/第二次 | 没有 |
| 后端 | 可选(需要增加限制) | 5项请求/第二次(无密钥) | 是( 需要 API 密钥和伙伴信息) |

```typescript
import { Config } from "@bluefin-exchange/bluefin7k-aggregator-sdk";

Config.setApiKey("YOUR_API_KEY");
console.log("API key", Config.getApiKey());
```

### 设置 BluefinX API 密钥

设置 BluefinX API 键是可选的 。 不过,如果你想用一个.. 例如,在通过 BluefinX 的路由时避免速率限制——你需要 直接从 Bluefin 请求 API 密钥.

```typescript
import { Config } from "@bluefin-exchange/bluefin7k-aggregator-sdk";

Config.setBluefinXApiKey("YOUR_BLUEFINX_API_KEY");
console.log("BluefinX API key", Config.getBluefinXApiKey());
```

### 设置 Sui 客户端

SDK使用单一的主客户端接受任何 `ClientWithCoreApi` (gRPC、JSON-RPC或GraphQL)。 设定通过 `setSuiClient`默认为 **(原始内容存档于2018-10-21) (英语). gRPC** 表现最好 这个客户端用于交易执行, 模拟、取出硬币和 Pyth 价格饲料操作(截至 `@pythnetwork/pyth-sui-js` v4, Pyth 读取可忽略的通过 统一 `.core` (原始内容存档于2018-10-12). API.

#### 使用 gRPC( 建议)

```typescript
import { SuiGrpcClient } from "@mysten/sui/grpc";
import { Config } from "@bluefin-exchange/bluefin7k-aggregator-sdk";

const network = "mainnet";

// Primary client for transaction execution, simulation, and coin fetching
const suiClient = new SuiGrpcClient({
  baseUrl: "https://fullnode.mainnet.sui.io:443",
  network,
});
Config.setSuiClient(suiClient);
```

注意: 此软件包只支持 **主网**。 。 。 .

### 启用 Pyth 价格来源

少数流动性来源从Pyth oracle定价他们的互换 `buildTx` 已经 以附加已签名的 Pyth 路由价格更新 :

-   `steamm_oracle_quoter`
-   `steamm_oracle_quoter_v2`
-   `obric` —— 说 **目前无法使用**,见下文
-   `haedal_pmm` —— 说 **目前无法使用**,见下文
-   `sevenk_v1` —— 说 **目前无法使用**,见下文

`obric`, (中文(简体) ), `haedal_pmm` 财务报告和审定财务报表 `sevenk_v1` 任何客户端都无法启用 今天的配置 。 他们的链上软件包仍然瞄准升级前的 Pyth 所以他们拒绝SDK生产的价格 以及 升级前价格饲料,否则将停止更新 2026年8月26日 Pyth Core 切入. 他们需要一个新的链上释放 协议; 提供 Pyth 密钥没有帮助 。 本节其余部分适用 对双方 `steamm_oracle_quoter` 来源.

**这些来源默认关闭.** 自从 [Pyth 核心 升级](https://docs.pyth.network/price-feeds/core/upgrade/preparing) 打开 2026年8月26日,每个赫尔墨斯呼叫者都需要API密钥,因此SDK无法获取一个 价格更新本身。 引用和交换在没有任何 Pyth 设置的情况下是可行的—— 这些来源周围的汇总路线,以及当前主网流动资金中 主要对子的成本远远低于0.01%.

SDK瞄准升级后Pyth Core部署: `https://pyth.dourolabs.app/hermes` 与升级的苏伊州对象。 从 Pyth 终端获取密钥( 免费测试) 然后:

```typescript
import { Config } from "@bluefin-exchange/bluefin7k-aggregator-sdk";

// Server side, holding a Pyth Pro access token directly:
Config.usePythPro({ accessToken: process.env.PYTH_ACCESS_TOKEN! });

// Browser side, where a token cannot be shipped to the client — name your own
// endpoint that holds the token on the page's behalf:
Config.usePythPro({
  updateDataUrl: "https://your.api.example/price-update-data",
});
```

这个 `updateDataUrl` 结束点必须回答 `GET <url>?ids=<comma-separated feed ids>` 与 `{ "updateData": ["<base64 price update>", ...] }`。 。 。 .

给这个打电话,在任何之前 `getQuote`,与你的其他 `Config` 设置.

已经运行自己的Pyth管道? `Config.setPythConnection()` 还启用 这些来源。 如果你走这条路,你必须 **(单位:千美元)** 调用 `Config.setPythClient()` 使用同一 Pyth 的状态代号 连接从 : `setPythConnection` 移动价格获取和 `setPythClient` 移动链上状态, 它们之间的不匹配失败 在Wormhole的 VAA 校验中,有一个从未提及 Pyth 的错误. `usePythPro` 存在是为了同时移动,所以更喜欢它 除非你需要你的 自己的连接对象.

`setPythClient()` 单靠它无法使这些来源——它移动 链上状态标识,而不是价格获取.

当一个源因为没有配置 Pyth 端点而被丢弃时, SDK 日志 a 一次性警告 命名源和设置呼叫.

### 设置端点提供者( API 版本)

您可以在不同的 API 版本间切换 :

-   `"Bluefin7k"` (默认) - 用途 `v2/quote` 结束点
-   `"Bluefin7kV2"` - 用途 `v3/quote` 附有RFQ支持的终点

```typescript
import { Config } from "@bluefin-exchange/bluefin7k-aggregator-sdk";

// Use v2 API (default)
Config.setEndpointProvider("Bluefin7k");

// Use v3 API with RFQ support
Config.setEndpointProvider("Bluefin7kV2");
```

## 交换

见 [交换](https://npmcn.com/package/%40bluefin-exchange/bluefin7k-aggregator-sdk/docs/SWAP.md)。 。 。 .

## 蓝鳍X

见 [蓝鳍X](https://npmcn.com/package/%40bluefin-exchange/bluefin7k-aggregator-sdk/docs/BLUEFINX.md)。 。 。 .

## 限制顺序

见 [限制顺序](https://npmcn.com/package/%40bluefin-exchange/bluefin7k-aggregator-sdk/docs/LIMIT.md)。 。 。 .

## DCA 命令

见 [DCA 命令](https://npmcn.com/package/%40bluefin-exchange/bluefin7k-aggregator-sdk/docs/DCA.md)。 。 。 .

## 价格

```typescript
import { getTokenPrice, getTokenPrices, getSuiPrice } from "@bluefin-exchange/bluefin7k-aggregator-sdk";

const tokenPrice = await getTokenPrice(
  "0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC",
);

const tokenPrices = await getTokenPrices([
  "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI",
  "0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC",
]);

const suiPrice = await getSuiPrice();
```

## 杂项

如果您在节点中从 SDK 导入函数时遇到问题 环境,指 [斜弧/实例/节点/](https://npmcn.com/package/%40bluefin-exchange/bluefin7k-aggregator-sdk/src/examples/nodejs/) 页:1 指导.

## 许可证

Bluefin7k 聚合器 TypeScript SDK 根据麻省理工学院许可发布. 见 [自由主义](https://npmcn.com/package/%40bluefin-exchange/bluefin7k-aggregator-sdk/LICENSE) 详细文件.

## 常见问题

### @bluefin-exchange/bluefin7k-aggregator-sdk 是什么？

bash npm i @bluefin-exchange/bluefin7k-aggregator-sdk

### 如何安装 @bluefin-exchange/bluefin7k-aggregator-sdk？

在项目目录运行 npm install @bluefin-exchange/bluefin7k-aggregator-sdk，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：@mysten/sui（^2\.31\.3）、@pythnetwork/pyth-sui-js（^4\.0\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @bluefin-exchange/bluefin7k-aggregator-sdk 支持 TypeScript 吗？

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

### @bluefin-exchange/bluefin7k-aggregator-sdk 支持 ESM 还是 CommonJS？

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

### @bluefin-exchange/bluefin7k-aggregator-sdk 需要什么版本的 Node\.js？

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

### @bluefin-exchange/bluefin7k-aggregator-sdk 可以商用吗？

@bluefin-exchange/bluefin7k-aggregator-sdk 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @bluefin-exchange/bluefin7k-aggregator-sdk 的下载量有多少？

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

### @bluefin-exchange/bluefin7k-aggregator-sdk 还在维护吗？

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

