# @exodus/ethereum-api 中文文档

规范地址：https://npmcn.com/package/%40exodus/ethereum-api/

版本：10\.3\.4
npm 元数据更新时间：2026-11-06T13:14:41.377Z
中文译文更新时间：2026-11-14T03:51:34.224Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40exodus/ethereum-api
原文对照：https://npmcn.com/package/%40exodus/ethereum-api/?lang=original
项目主页：https://github.com/ExodusMovement/assets/tree/master/ethereum/ethereum-api
源码仓库：https://github.com/ExodusMovement/assets

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

- 包体积（解压后）：625 kB，137 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- 运行依赖：27 个
- 首次发布：2020-05-21T08:28:11.119Z
- 最新版本发布：2026-11-06T13:14:41.181Z
- 近 30 天下载量：46064（2026-10-14 至 2026-11-12，npm 官方下载统计）
- 已发布版本数：515（近 12 个月 82 个）

## 中文简介

交易显示器、收费显示器、带区块链节点的RPC以及基于Ethereum和EVM的区块链的其他网络编码

## 安装

```sh
npm install @exodus/ethereum-api
```

也可以使用：`pnpm add @exodus/ethereum-api`、`yarn add @exodus/ethereum-api`、`bun add @exodus/ethereum-api`

## README

# @ exodus/ etereum- api

交易显示器、收费显示器、带区块链节点的RPC,以及基于Ethereum和EVM的区块链的其他网络编码。 见 [资产包](https://npmcn.com/package/docs/asset-packages.md) 更详细地介绍这一一揽子计划的作用.

## 收费

本节解释目前在Exodus的收费工作方式,并指导如何通过远程配置来排除和调试. 它扭转了现有的统一实施。 该文件旨在帮助读者理解收费机制并就如何进一步改进该机制提出建议.

### 天然气价格

不包括海关费, `feeData.gasPrice` 用于解决交易的天然气价格(剩余)和最大天然气价格(EIP-1559).

这个 `gasPrice` 数值按偏好顺序从:

1.  远程配置
2.  通过收费数据显示器和网络插座的节点. `gasPrice = baseFeePerGas * gasPriceMultiplier + tipGasPrice`
3.  默认配置 .

使用远程配置永远不会被推荐,因为手动更新这个值不会跟上网络活动.

费和远程监视器一启动钱包就执行. 代码所定义的默认收费数据字段会在用户与钱包互动之前被覆盖(如果设置了的话).

为了调和收费问题 我们可以:

-   增减 `gasPriceMultiplier` 通过远程配置. 譬如说, `1.2` 将目前的网络气价上涨20%.
-   设置 a `min` 通过远程配置值。 天然气价格永远不会低于这一值.
-   设置 a `max` 通过远程配置值。 天然气价格永远不会高于这一价值.

如果解决 `gasPrice` 不准确或低于网络的,交易可能会被卡在待决状态中,或者可能不会被广播到块链上.

这是一种不可取的情况:

-   我们可以为第二次交易增加非ce,但如果第一次交易下降,第二次交易也会失败,即使第二次交易的费用足够高.
-   如果钱包假设交易被放弃而非ce被再用,网络会将这个无关的第二次交易解释为试图替换第一个交易(交易替换下价出错).
-   向"重审"提交第二次交易的用户可能很危险. 这两种交易都可能会被挖掘出,导致用户两次而不是一次执行互换.

一个逃生阀可能是更新 `min`, (中文(简体) ), `max`,或 `gasPriceMultiplier` 通过远程配置. 这应该是一个临时补丁,一旦节点的天然气价格稳定,就需要回滚.

### 基本天然气价格

基气价格(或基费)为将交易纳入区块,每单位需要支付的最低气量.

可见于 `feeData.baseFeePerGas`。收费监视器通过监测最新的区块信息来保持更新。 可以通过远程配置调制,但此不推荐.

这个 `feeData.baseFeePerGas` 用于在UI中显示“估计费用”并计算最大气价. `gasPrice = baseFeePerGas * gasPriceMultiplier + tipGasPrice`

### 气体限制

这个 `gasLimit` 是指交易或块在执行过程中允许消耗的最大气体量. 多数EVMs在转移主要资产时假设21,000. 一些EVM,比如曼特尔,Arbitrum One,和Arbitrum Nova,使用不同的气体限制. 这些气体限制需要估算,类似于执行智能合同呼叫时.

对于智能合同呼叫,如发送或互换,钱包根据合同,发送者,接收者,金额等估算出一个气体限制. 毒气限值再加20% `extraPercentage` 作为安全网.

如果气体限值估计失败,代码可能回落到每个资产定义的高违约值(`asset.gasLimit`) (中文(简体) ).

目前,无法通过远程配置来调和气体限制分辨率,"外百分率"值在代码中被硬编码.

都撞了起来 `gasLimit` 和被撞倒的 `gasPrice` 显示在发送时重新使用收费时解决.

天然气限制和天然气价格越高,最大网络费就越高,尽管并非所有的天然气都可以使用。 最大网络费越高,用户可用余额就越低.

### 额外L2费用

L2网络可能会有额外的收费. 阿尔比特鲁姆一号、阿尔比特鲁姆-诺瓦和曼特尔在气体估算中包括了费用(`forceGasLimitEstimation`) (中文(简体) ). Base和Aptos需要额外的费用估算,以获得这一额外费用(第1款)`estimateL1DataFee`) (中文(简体) ).

L2额外收费在向用户显示收费,解决可用余额,并创建交易时需要考虑. 收费可能在交易中隐含.

### 自定义收费

自定义收费允许用户设置自定义 `gasPrice`。钱包允许下列范围:

说明: `gasPrice = baseFeePerGas * gasPriceMultiplier + tipGasPrice`

-   `recommended: gasPrice`
-   `min: gasPrice * gasPriceMinimumRate`
-   `max: gasPrice * gasPriceMaximumRate`

如果用户选择推荐的值,则不设定自定义收费,留下默认收费行为. 自定义收费可以通过设置来禁用 `rbfEnabled: false` 通过远程配置. 目前,只有Ethereum允许收取关税。 今后可以列入其他的环境影响评估.

钱包允许在允许自定义收费时加速(反之亦然).

如果用户在此范围内选择不同的自定义收费,则该收费计算为: `customFee * gasLimit`。 。 。 .

如上所解释,低通关费创建的交易可能会被卡住一阵子,阻断了未来的交易,可能会与非ce产生问题.

最小值和最大值可以通过修改来调节 `gasPriceMinimumRate` 财务报告和审定财务报表 `gasPriceMaximumRate` 通过远程配置.

### TX 公式

说明: `gasPrice = baseFeePerGas * gasPriceMultiplier + tipGasPrice`

表格显示 txs 是如何为遗产和 1559 逻辑为主要用途创建的 :

|  | 发送一些主 | 发送全部主机 | 发送信使/合同呼叫 | 用自定义收费发送主机 | 发送签章/附有定制费的合同 | 加速 |
| --- | --- | --- | --- | --- | --- | --- |
| 天然气价格 | 气价 | 气价 | 气价 | 自定义Fee | 自定义Fee | 最大( 目前的气价, 原始 tx 气价) \* BUMP RATE 1.2 |
| 遗留气体限制 | 21000 个 | 21000 个 | 估计增加20% | 21000 个 | 估计增加20% | 原始 tx 气体限制 |
| \- 说吧 | \- 说吧 | \- 说吧 | \- 说吧 | \- 说吧 | \- 说吧 | \- 说吧 |
| 1559 最大天然气价格 | 气价 | 气价 | 气价 | 自定义Fee | 自定义Fee | 最大( 当前气价, 原始 tx 气价) \* BUMP RATE 1.2 |
| 1559 特普天然气价格 | 提示图像 | 气价 | 提示图像 | 自定义Fee | 提示图像 | \* BUMP RATE 1.2 |
| 1559 气体限制 | 21000 个 | 21000 个 | 估计增加20% | 21000 个 | 估计增加20% | 原始 tx 气体限制 |

### 收费数据示例

这是Ethereum的默认收费数据配置. 其他EVMs有不同的默认收费数据.

所有这些值都可以通过远程配置来调制,尽管可能不推荐,因为收费监视器也会调制:

-   **`baseFeePerGas`数字 :** `50 Gwei` ——基准气价参考值. 费用监测器迅速更新.
-   **`gasPrice`数字 :** `77 Gwei` – 说吧 – `baseFeePerGas * gasPriceMultiplier + tipGasPrice`
-   **`severGasPrice`数字 :** `75 Gwei` ——网络气价参考值. 费用监测器迅速更新.
-   **`tipGasPrice`数字 :** `2 Gwei` - 控制 `maxPriorityFeePerGas` 用于启用EIP-1559时的所有交易.
-   **`eip1559Enabled`数字 :** `true` - 启用或禁用EIP-1559。 价值为 `false` 是指遗产费和交易.
-   **`rbfEnabled`数字 :** `true` ——启用自定义收费和加速度. 目前,这只供Ethereum使用,但可扩展至其他的EVM.
-   **`gasPriceMaximumRate`数字 :** `1.3` ——控制自定义收费滑行器中的最大值.
-   **`gasPriceMinimumRate`数字 :** `0.5` - 控制自定义收费滑行器中的最低值.
-   **`gasPriceMultiplier`数字 :** `1` - 控制 `gasPrice` 财务报告和审定财务报表 `maxFeePerGas` 以 `current gas price * this multiplier`。 。 。 .
-   **`max`数字 :** `250 Gwei` ——控制可设置的最高气价值.
-   **`min`数字 :** `1 Gwei` ——控制可设置的最低气价值.
-   **`fuelThreshold`数字 :** `0.025 ETH` – 如果余额低于此值而用户持有令牌,则显示低余额警告.
-   **`enableFeeDelegation`数字 :** `false` - 未执行.
-   **`origin`数字 :** `75 Gwei` - 遗产;考虑删除.
-   **`swapFee`数字 :** `0.05 ETH` - 遗产;考虑删除.

## 常见问题

### @exodus/ethereum-api 是什么？

交易显示器、收费显示器、带区块链节点的RPC以及基于Ethereum和EVM的区块链的其他网络编码

### 如何安装 @exodus/ethereum-api？

在项目目录运行 npm install @exodus/ethereum-api，或使用 pnpm add / yarn add / bun add。

### @exodus/ethereum-api 支持 TypeScript 吗？

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

### @exodus/ethereum-api 支持 ESM 还是 CommonJS？

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

### @exodus/ethereum-api 可以商用吗？

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

### @exodus/ethereum-api 的下载量有多少？

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

### @exodus/ethereum-api 还在维护吗？

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

