@eulerxyz/euler-v2-sdk

中文文档
4.4.0发布于 2026/10/27MITTypeScriptES Module近 30 天下载 1.6万

与 Euler V2 借贷平台互动的 SDK

中文使用文档
文档目录9 节
  1. 安装
  2. 示例使用法(多用+模拟)
  3. 这个SDK是为了什么
  4. 配置
  5. 目录
  6. 实例
  7. 释放进程
  8. 默认标签服务
  9. 未评估的 V3 标签

欧拉 V2 SDK

安装

npm install @eulerxyz/euler-v2-sdk

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

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>。见全文 配置参考 财务报告和审定财务报表 通过信封配置 用于所有选项和默认.

目录

所有文件已经进入 ./docs。 。 。 .

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

实例

可运行实例在 ./examples,包括端到端执行流和对分叉的模拟.

比较、对等检查、以及其他面向测试的脚本和报告 ./test/parity。 。 。 .

释放进程

此软件包通过 repo- local 发布 RELEASE.md 游戏本和当地 $publish 技术.

Git tags和GitHub Releases是"真理"的放出-注解来源. 承诺 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。见 标签 用于源选择和信任语义.

未评估的 V3 标签

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

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 共发布 60 个版本,首次发布于 2026/04/17;过去 12 个月发布了 60 个版本。

版本发布日期距今
4.4.0latest2026/10/2717 天前
4.3.02026/10/2024 天前
4.2.02026/10/1430 天前
4.1.02026/10/121 个月前
4.0.12026/10/091 个月前
4.0.02026/10/071 个月前

其他发布通道:rc → 1.0.3-rc.0,beta → 1.0.8-beta.0。

关于 @eulerxyz/euler-v2-sdk 的常见问题

@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 和提交记录判断。