蓝鳍7克聚合物类型SDK
安装
npm i @bluefin-exchange/bluefin7k-aggregator-sdk
此软件包需要 @pythnetwork/pyth-sui-js 作为同伴的依赖。 狦
工程没有, 您需要安装它 .
npm i @pythnetwork/pyth-sui-js
使用量
您可以导入整个 SDK 作为模块 :
import SevenK from "@bluefin-exchange/bluefin7k-aggregator-sdk";
或根据需要导入特定功能:
import { getQuote, buildTx } from "@bluefin-exchange/bluefin7k-aggregator-sdk";
配置
配置是可选的,但如果提供,则必须在引用任何 SDK函数.
设置 API 密钥
您可以使用我们的 SDK , 默认利率限制为 每秒5个请求 不需要 API 密钥.
-
对于 前端( 浏览器) 使用,则不需要 API 密钥,且利率 限制不能增加.
-
对于 后端( 服务器侧) 使用,API 键是 选项 默认值 用途。 然而,要求 提高费率限额,您必须同时提供 API 密钥 财务报告和审定财务报表 合作伙伴信息。 。 。 .
要求提高税率,请按要求提交 解析器。 。 。 . 为 Bluefin7k 聚合器创建一张票来请求 API 密钥 .
| 使用量 | 需要的 API 密钥 | 默认利率限制 | 可以请求更高的费率限制 |
|---|---|---|---|
| 前端 | 没有 | 5项请求/第二次 | 没有 |
| 后端 | 可选(需要增加限制) | 5项请求/第二次(无密钥) | 是( 需要 API 密钥和伙伴信息) |
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 密钥.
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( 建议)
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_quotersteamm_oracle_quoter_v2obric—— 说 目前无法使用,见下文haedal_pmm—— 说 目前无法使用,见下文sevenk_v1—— 说 目前无法使用,见下文
obric, (中文(简体) ), haedal_pmm 财务报告和审定财务报表 sevenk_v1 任何客户端都无法启用
今天的配置 。 他们的链上软件包仍然瞄准升级前的 Pyth
所以他们拒绝SDK生产的价格 以及
升级前价格饲料,否则将停止更新
2026年8月26日 Pyth Core 切入. 他们需要一个新的链上释放
协议; 提供 Pyth 密钥没有帮助 。 本节其余部分适用
对双方 steamm_oracle_quoter 来源.
这些来源默认关闭. 自从 Pyth 核心 升级 打开 2026年8月26日,每个赫尔墨斯呼叫者都需要API密钥,因此SDK无法获取一个 价格更新本身。 引用和交换在没有任何 Pyth 设置的情况下是可行的—— 这些来源周围的汇总路线,以及当前主网流动资金中 主要对子的成本远远低于0.01%.
SDK瞄准升级后Pyth Core部署: https://pyth.dourolabs.app/hermes
与升级的苏伊州对象。 从 Pyth 终端获取密钥( 免费测试)
然后:
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支持的终点
import { Config } from "@bluefin-exchange/bluefin7k-aggregator-sdk";
// Use v2 API (default)
Config.setEndpointProvider("Bluefin7k");
// Use v3 API with RFQ support
Config.setEndpointProvider("Bluefin7kV2");
交换
见 交换。 。 。 .
蓝鳍X
见 蓝鳍X。 。 。 .
限制顺序
见 限制顺序。 。 。 .
DCA 命令
见 DCA 命令。 。 。 .
价格
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 导入函数时遇到问题 环境,指 斜弧/实例/节点/ 页:1 指导.
许可证
Bluefin7k 聚合器 TypeScript SDK 根据麻省理工学院许可发布. 见 自由主义 详细文件.