# @eulerxyz/euler-v2-sdk 中文文档

规范地址：https://npmcn.com/package/%40eulerxyz/euler-v2-sdk/

版本：4\.4\.0
npm 元数据更新时间：2026-10-27T10:43:50.057Z
中文译文更新时间：2026-11-14T00:23:16.124Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40eulerxyz/euler-v2-sdk
原文对照：https://npmcn.com/package/%40eulerxyz/euler-v2-sdk/?lang=original
项目主页：https://github.com/euler-xyz/euler-sdks/tree/main/packages/euler-v2-sdk
源码仓库：https://github.com/euler-xyz/euler-sdks

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

- 包体积（解压后）：4.7 MB，811 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=18
- 运行依赖：1 个
- 首次发布：2026-04-17T09:54:52.043Z
- 最新版本发布：2026-10-27T10:43:49.847Z
- 近 30 天下载量：15526（2026-10-14 至 2026-11-12，npm 官方下载统计）
- 已发布版本数：60（近 12 个月 60 个）

## 中文简介

与 Euler V2 借贷平台互动的 SDK

## 安装

```sh
npm install @eulerxyz/euler-v2-sdk
```

也可以使用：`pnpm add @eulerxyz/euler-v2-sdk`、`yarn add @eulerxyz/euler-v2-sdk`、`bun add @eulerxyz/euler-v2-sdk`

## README

# 欧拉 V2 SDK

## 安装

```bash
npm install @eulerxyz/euler-v2-sdk
```

## 示例使用法(多用+模拟)

```typescript
import { buildEulerSDK, getSubAccountAddress } from "@eulerxyz/euler-v2-sdk";
import { mainnet } from "viem/chains";
import { parseUnits } from "viem";

// Set EULER_SDK_RPC_URL_1=https://your-rpc-url in the environment.
const sdk = await buildEulerSDK();

const owner = "0xYourEOA";
const subAccount = getSubAccountAddress(owner, 1);

const account = await sdk.accountService.fetchAccount(mainnet.id, owner, {
  populateVaults: true,
});

const quotes = await sdk.swapService.getDepositQuote({
  chainId: mainnet.id,
  fromVault: "0xLiabilityVault",
  toVault: "0xLongVault",
  fromAccount: subAccount,
  toAccount: subAccount,
  fromAsset: "0xLiabilityAsset",
  toAsset: "0xLongAsset",
  amount: parseUnits("50", 6),
  origin: owner,
  slippage: 0.5,
  deadline: Math.floor(Date.now() / 1000) + 1800,
});

const plan = sdk.executionService.planMultiplyWithSwap({
  account,
  collateralVault: "0xCollateralVault",
  collateralAmount: parseUnits("100", 6),
  collateralAsset: "0xCollateralAsset",
  swapQuote: quotes[0]!,
});

const simulation = await sdk.simulationService.simulateTransactionPlan(
  mainnet.id,
  owner,
  plan,
  { stateOverrides: true }
);

// Use simulated account and vaults state in the UI.
// Use simulation.canExecute or errors to decide whether and how to execute this plan in your app.
// See /examples/utils/executor.ts
```

## 这个SDK是为了什么

`@eulerxyz/euler-v2-sdk` 提供与Euler V2贷款合同互动所需的一切:

-   获取账户、金库、钱包余额/贷款和市场数据
-   规划和编组EVC交易批次
-   解决批准(核准/核准2路径)
-   执行前模拟交易
-   处理金库互换、钱包对Wallet互换、定价、奖励、rEUL锁、安全智能账户检测、公共标签V3元数据、能见度和地理政策以及已部署地址
-   获取数据 V3 甲骨文适配器评估和索引路由器状态

SDK是通过依赖性注射而构建的,因此可以使用 `buildEulerSDK()` 默认设置, 单独运行单个服务, 或修改您的自定义执行行为 .

## 配置

运行时配置可以来自 `buildEulerSDK({ config })`,支持明确的 SDK 选项, `EULER_SDK_*` 环境变量,或 SDK 默认值。 RPC URL 通过 `config.rpcUrls` 或者说 `EULER_SDK_RPC_URL_<chainId>`。见全文 [配置参考](https://npmcn.com/package/%40eulerxyz/euler-v2-sdk/docs/configuration.md) 财务报告和审定财务报表 [通过信封配置](https://npmcn.com/package/%40eulerxyz/euler-v2-sdk/docs/config-through-env.md) 用于所有选项和默认.

## 目录

所有文件已经进入 [`./docs`](https://npmcn.com/package/%40eulerxyz/euler-v2-sdk/docs)。 。 。 .

1.  [配置](https://npmcn.com/package/%40eulerxyz/euler-v2-sdk/docs/configuration.md) - 全部来 `buildEulerSDK()` 选项、默认和服务覆盖.
2.  [通过信封配置](https://npmcn.com/package/%40eulerxyz/euler-v2-sdk/docs/config-through-env.md) - 说吧 `EULER_SDK_*` 环境变量和匹配 `config` 字段.
3.  [基本用途](https://npmcn.com/package/%40eulerxyz/euler-v2-sdk/docs/basic-usage.md) - 快速设置和共同账户/空洞/钱包使用模式.
4.  [SDK 架构概览](https://npmcn.com/package/%40eulerxyz/euler-v2-sdk/docs/sdk-architecture-overview.md) - 高层结构、依赖性注射模型和组成方案.
5.  [服务](https://npmcn.com/package/%40eulerxyz/euler-v2-sdk/docs/services.md) - 服务地图、顶级入境点和下级支助服务.
6.  [钱包服务](https://npmcn.com/package/%40eulerxyz/euler-v2-sdk/docs/wallet-service.md) - 本地/ERC20余额和直接/许可证2津贴.
7.  [执行事务处](https://npmcn.com/package/%40eulerxyz/euler-v2-sdk/docs/execution-service.md) - 说吧 `encodeX` 对 `planX`,批准流,命名操作组, `mergePlans`,以及 `describeBatch`。 。 。 .
8.  [模拟和国家重任](https://npmcn.com/package/%40eulerxyz/euler-v2-sdk/docs/simulations-and-state-overrides.md) - 计划模拟流量、验证输出和国营设施.
9.  [交换](https://npmcn.com/package/%40eulerxyz/euler-v2-sdk/docs/swaps.md) - 交换引用API 以及交换有效载荷如何融入计划.
10.  [COW 交换](https://npmcn.com/package/%40eulerxyz/euler-v2-sdk/docs/cow-swaps.md) - COW引用元数据、COW特定规划者、提交命令、状况投票和取消.
11.  [移民服务处](https://npmcn.com/package/%40eulerxyz/euler-v2-sdk/docs/position-migration-service.md) - 跨议定书位置迁移(Aave V3、Morpho Blue、MetaMorpho)进出欧拉,并有授权和互换.
12.  [奖励服务](https://npmcn.com/package/%40eulerxyz/euler-v2-sdk/docs/rewards-service.md) - 奖励、观众认识资格和具体供应商的索赔规划.
13.  [rEUL 锁定服务](https://npmcn.com/package/%40eulerxyz/euler-v2-sdk/docs/reul-lock-service.md) - REUL锁读取并解锁交易计划.
14.  [收费流动服务](https://npmcn.com/package/%40eulerxyz/euler-v2-sdk/docs/fee-flow-service.md) - 收费状态读取、合格地壳过滤和购买计划建造.
15.  [安全账户处](https://npmcn.com/package/%40eulerxyz/euler-v2-sdk/docs/safe-account-service.md) - 安全智能账户检测和签名人配置读取.
16.  [定价系统](https://npmcn.com/package/%40eulerxyz/euler-v2-sdk/docs/pricing-system.md) - 价格数据管道、倒置行为和定价一体化点.
17.  [退缩系统](https://npmcn.com/package/%40eulerxyz/euler-v2-sdk/docs/fallback-system.md) - V3 → 在链上/子图上/直接倒回链上,触发语义学 `onFallback` 遥测.
18.  [数据架构](https://npmcn.com/package/%40eulerxyz/euler-v2-sdk/docs/data-architecture.md) - 实体/适应者/服务层、人口模型和数据流动.
19.  [跨部门数据人口](https://npmcn.com/package/%40eulerxyz/euler-v2-sdk/docs/cross-service-data-population.md) 服务如何通过价格、奖励、标签和嵌入式金库来丰富实体.
20.  [块式平板读取器](https://npmcn.com/package/%40eulerxyz/euler-v2-sdk/docs/block-pinned-reads.md) - 在一个区块(编号或EIP-1898散列)上读取每个链上值,并捆接镜头读取成一个 `eth_call`。 。 。 .
21.  [组合](https://npmcn.com/package/%40eulerxyz/euler-v2-sdk/docs/portfolio.md) - 高层储蓄/借款取自人口账户.
22.  [实体参考文献](https://npmcn.com/package/%40eulerxyz/euler-v2-sdk/docs/entities/index.md) - 出口实体形状的财产级参考.
23.  [账户计算属性](https://npmcn.com/package/%40eulerxyz/euler-v2-sdk/docs/account-computed-properties.md) - 健康系数/LTV/净值计算字段和数据先决条件.
24.  [缓存外部数据查询](https://npmcn.com/package/%40eulerxyz/euler-v2-sdk/docs/caching-external-data-queries.md) - 说吧 `query*` 缓存/博客/缩写的装饰图案.
25.  [插件](https://npmcn.com/package/%40eulerxyz/euler-v2-sdk/docs/plugins.md) 用于读取路径和计划路径扩展的插件系统.
26.  [标签和金库评估](https://npmcn.com/package/%40eulerxyz/euler-v2-sdk/docs/labels.md) - 公布元数据、能见度和原始评估.
27.  [解码智能合同出错](https://npmcn.com/package/%40eulerxyz/euler-v2-sdk/docs/decode-smart-contract-errors.md) - 恢复解码功能,以更好地处理出错.
28.  [实体诊断](https://npmcn.com/package/%40eulerxyz/euler-v2-sdk/docs/entity-diagnostics.md) - 用于数据正常化、倒计时和每地警告的侧车元数据.
29.  [添加链条](https://npmcn.com/package/%40eulerxyz/euler-v2-sdk/docs/adding-a-chain.md) - SDK在每个链条的运行时间读取的内容,以及保存在这个寄存器中的每个链条条目.

## 实例

可运行实例在 [`./examples`](https://npmcn.com/package/%40eulerxyz/euler-v2-sdk/examples),包括端到端执行流和对分叉的模拟.

比较、对等检查、以及其他面向测试的脚本和报告 [`./test/parity`](https://npmcn.com/package/%40eulerxyz/euler-v2-sdk/test/parity)。 。 。 .

## 释放进程

此软件包通过 repo- local 发布 [`RELEASE.md`](https://npmcn.com/package/%40eulerxyz/euler-v2-sdk/RELEASE.md) 游戏本和当地 `$publish` 技术.

Git tags和GitHub Releases是"真理"的放出-注解来源. 承诺 [`package.json`](https://npmcn.com/package/%40eulerxyz/euler-v2-sdk/package.json) 不携带发布版本; `$publish` 获取 npm 版本从 `euler-v2-sdk-vX.Y.Z` 标记,包括诸如 `euler-v2-sdk-vX.Y.Z-beta.0`。 。 。 .

发布流验证 npm auth, 运行 `pnpm -C packages/euler-v2-sdk run release:check`,创建和推动 `euler-v2-sdk-vX.Y.Z` 选中的标签 `main` 承诺、 临时为 npm 撰写标签版本、 干运行软件包、 发布 `npm publish --access public --provenance=false`,恢复工作树,并根据生成的音符文件中的已验证标记创建 GitHub Release。 使用匹配的 npm dist- tag 发布预释, 例如 `npm publish --access public --tag beta --provenance=false`。 。 。 .

使用操作员本地 npm 会话发布 。 npm可能提示一次性密码或提供浏览器认证URL;在发布进程退出前完成该提示.

### 默认标签服务

`buildEulerSDK().eulerLabelsService` 使用公共标签 V3(`public` 编号 : `latest`),共享所配置的V3端点,API密钥和查询缓存. 结果保留了现场可见度、管理实体和地理政策;失败了读取拒绝而不回到文件。 使用 `eulerLabelsV3AdapterConfig` 用于数据集、出版物或运输定制。 应用程序提供自定义标签流经 `servicesOverrides.eulerLabelsService`。见 [标签](https://npmcn.com/package/%40eulerxyz/euler-v2-sdk/docs/labels.md) 用于源选择和信任语义.

### 未评估的 V3 标签

`PublicLabelsV3MetadataAdapter` 阅读已公布的标签、实体简介/地址和没有可见度的实况地理政策: `/labels/vaults` 无 `include=visibility` 从不读直接判决 明确选择给进行自己核查的消费者;这不是自动退缩 `PublicLabelsV3Adapter`。 。 。 .

```ts
import { PublicLabelsV3MetadataAdapter, normalizePublicLabelsMetadata } from '@eulerxyz/euler-v2-sdk/public-labels';

const adapter = new PublicLabelsV3MetadataAdapter({ endpoint: 'https://v3.euler.finance', labelSet: 'public' });
const snapshot = await adapter.fetchPublicLabelsSnapshot(146);
const metadata = normalizePublicLabelsMetadata(146, snapshot.publicLabels);
// metadata.candidateVaultAddresses / candidateEarnVaultAddresses are fetch candidates.
// verifiedVaultAddresses and earnVaults remain empty; independent verification is required.
```

快照带着 `source: 'v3-metadata'` 没有能见度的判决。 仅元数据正常化保留产品 `notExplorable` 和金库 `notExplorableLend`编号 :`notExplorableBorrow` 旗帜; 荣用出借侧旗外加产品藏. 光是贬值是不会藏起金库的。 评估的正常化仍然独立于这些生来旗帜。 两个适配器共享出版物选择和元数据映射;被评估的适配器仍需要实时判断,附加在标签上 `include=visibility` 或直接读取尚未评估的行。 该应用程序拥有链条选择、治理核查、发现和地理执行.

## 常见问题

### @eulerxyz/euler-v2-sdk 是什么？

与 Euler V2 借贷平台互动的 SDK

### 如何安装 @eulerxyz/euler-v2-sdk？

在项目目录运行 npm install @eulerxyz/euler-v2-sdk，或使用 pnpm add / yarn add / bun add。

### @eulerxyz/euler-v2-sdk 支持 TypeScript 吗？

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

### @eulerxyz/euler-v2-sdk 支持 ESM 还是 CommonJS？

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

### @eulerxyz/euler-v2-sdk 需要什么版本的 Node\.js？

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

### @eulerxyz/euler-v2-sdk 可以商用吗？

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

### @eulerxyz/euler-v2-sdk 的下载量有多少？

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

### @eulerxyz/euler-v2-sdk 还在维护吗？

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

