# @eth-optimism/tokenlist 中文文档

规范地址：https://npmcn.com/package/%40eth-optimism/tokenlist/

版本：10\.0\.1773
npm 元数据更新时间：2026-11-12T21:21:53.519Z
中文译文更新时间：2026-11-13T23:28:58.626Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40eth-optimism/tokenlist
原文对照：https://npmcn.com/package/%40eth-optimism/tokenlist/?lang=original
项目主页：https://github.com/ethereum-optimism/ethereum-optimism.github.io#readme
源码仓库：https://github.com/ethereum-optimism/ethereum-optimism.github.io

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

- 包体积（解压后）：5.2 MB，13 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- Node.js 要求：^22\.0\.0
- 运行依赖：0 个
- 首次发布：2022-12-12T20:34:36.422Z
- 最新版本发布：2026-11-12T21:21:53.332Z
- 近 30 天下载量：3786（2026-10-14 至 2026-11-12，npm 官方下载统计）
- 已发布版本数：1937（近 12 个月 30 个）

## 中文简介

\[optimism\] 令牌列表

## 安装

```sh
npm install @eth-optimism/tokenlist
```

也可以使用：`pnpm add @eth-optimism/tokenlist`、`yarn add @eth-optimism/tokenlist`、`bun add @eth-optimism/tokenlist`

## README

# 超级链托肯列表

Superchain令牌列表是包含OP Mainnet和Base在内的已部署在Superchains上的由此repo的维护者管理的令牌列表. 它为诸如人权等服务提供了真相来源 [乐观桥 UI](https://app.optimism.io/bridge)。 。 。 .

值得注意的是,《超级链托肯清单》对象征性部署/连接和清单目录作了区分。 托肯斯可以以无授权的方式部署/搭桥, [任何人都可以部署 / 桥上符号](https://github.com/ethereum-optimism/optimism-tutorial/tree/01e4f94fa2671cfed0c6c82257345f77b3b858ef/standard-bridge-standard-token) 在超级链.

请注意,通过在清单中添加一个标志,我们并没有对标志本身提出任何索赔;标志不作为投资的质量、优点或健全性加以审查.

## 审查过程和合并标准

### 进程概览

1.  遵循以下指示创建 PR [将您的令牌添加到列表中](https://npmcn.com/package/%40eth-optimism/tokenlist/#readme-adding-a-token-to-the-list)。 。 。 .
2.  等一个评论员开始 [自动检查](https://npmcn.com/package/%40eth-optimism/tokenlist/#readme-automated-checks)。 。 。 .
3.  在自动检查通行证和审查者批准公关后,将自动合并.

**说明:** 标准桥有 _没有_ 支持某些 ERC-20 配置 :

-   [转会费](https://github.com/d-xo/weird-erc20#fee-on-transfer)
-   [在不排放转让事件的情况下修改余额的插件](https://github.com/d-xo/weird-erc20#balance-modifications-outside-of-transfers-rebasingairdrops)

### 指定链条

目前,每个业务链都有自己的审查程序。 所以,如果你在多个链条上添加了符号, 请将您的拉动请求分开, 这样每个链条都有一个公关, 以便精简审查过程 .

-   如果你在给 `Base` (例如:. `base` \[主网\]或 `base-sepolia` \[testnet\],与其在基地使用预部署代币工厂,不如建议您使用代币工厂 [在此列出](https://docs.base.org/chain/base-contracts/#l2-contract-addresses) 避免在Optimism上出现可能与不同符号相冲突的象征性地址.
-   如果您要添加一个符号到 `Zora`: 请使用 [`zora` 标签](https://github.com/ethereum-optimism/ethereum-optimism.github.io/labels/zora) 添加 [翻译:](https://github.com/tbtstl) 作为评论家.
-   如果您要添加一个符号到 `Mode`: 请使用 [`mode` 标签](https://github.com/ethereum-optimism/ethereum-optimism.github.io/labels/mode)。 。 。 .
-   如果您要添加一个符号到 `Lisk` (例如:. `lisk` \[主网\]或 `lisk-sepolia` 请使用 [`lisk` 标签](https://github.com/ethereum-optimism/ethereum-optimism.github.io/labels/lisk) 添加 [@ shuse2](https://github.com/shuse2) 作为评论家.
-   如果您要添加一个符号到 `Soneium` (例如:. `soneium` \[主网\]或 `soneium-minato` 请使用 [`soneium` 标签](https://github.com/ethereum-optimism/ethereum-optimism.github.io/labels/soneium)。 。 。 .

### 自动检查

我们的线人对每个公关进行一系列自动检查. 这些自动检查是作为以下活动的一部分进行的: `Validate PR` 检查. CI提出的一些问题会引发错误,必须在您的PR获得批准前得到解决. 这些问题在下面被标为"自动回放"问题. 其他问题将发出警告,需要审查者进行人工审查. 这些问题在下文被标注为"需要人工审查".

-   在所有指定链上实际存在给定符( 自动拒绝)
-   L1 令牌在 Etherscan (自动弹出) 上被验证
-   描述在 1000 个字符以下( 自动弹出)
-   脚本 `name`, (中文(简体) ), `symbol`,以及 `decimals` 匹配链上数据(自动弹出)
    -   若为 `overrides` 使用(需要人工审查)
-   L2 代号由 [标准托肯事实](https://github.com/ethereum-optimism/optimism-legacy/blob/develop/packages/contracts/contracts/L2/messaging/L2StandardTokenFactory.sol) 或是一个 [L2标准ERC20](https://github.com/ethereum-optimism/optimism-legacy/blob/develop/packages/contracts/contracts/standards/L2StandardERC20.sol) 使用标准 L2 桥位地址的符号(`0x4200000000000000000000000000000000000010`(需要人工审查)
-   上面列出的Etereum 令牌 [CoinGecko 托肯列表](https://tokenlists.org/token-list?url=https://tokens.coingecko.com/uniswap/all.json)(需要人工审查)
    -   _为什么是CoinGecko? CoinGecko的签名列表 每小时更新,这意味着我们得到 签名列表更新非常快。 CoinGecko也使用了一个深度 [列名标准](https://www.coingecko.com/en/methodology)。 。 。 ._

#### 调试自动检查失败

如果您的自动检查失败, 您可以通过下载看到失败的原因 `validation-artifacts.zip`打开门 `validation_results.txt` 文档。 寻找 `validation-artifacts` 遵循这些步骤:

1.  点击 `Details` 链接 `Validate PR` 检查您的公关
2.  点击 `Summary` 左边面板
3.  在标有标签的页面上查找此部分 `Artifacts` 并单击 `validation-artifacts`
4.  下载后 `validation-artifacts.zip`打开它 `validation_results.txt`

如果修改后需要再次运行验证检查,则需要等待审查者批准检查后再运行. 但是,如果您不想等待审查者批准检查再次运行以查看失败是否已经解决,您可以通过运行在当地运行验证检查:

```sh
npx tsx ./bin/cli.ts validate --datadir ./data --tokens <data folder name (e.g. ETH)>
```

### 最后核准

所有公关都要经过轻量级最后批准,即使没有标记为 `requires manual review`。 。 。 .

## 在列表中添加一个符号

### 为您的令牌创建文件夹

在其中创建文件夹 [数据文件夹](https://github.com/ethereum-optimism/ethereum-optimism.github.io/tree/master/data) 与您想要添加的符号同名。 例如,如果您要添加一个符号“ ETH” 的符号, 您必须创建一个名为 ETH 的文件夹 .

### 在文件夹中添加标识

在您刚刚创建的数据文件夹中添加一个标志 。 您的标志必须是一个 SVG `logo.svg`您的标志至少应该为 200x200 pt 和 256x256 pt 首选 .

### 创建数据文件

将一个文件添加到您的文件夹中 `data.json` 格式如下:

```json
{
  "name": "Token Name",
  "symbol": "SYMBOL",
  "decimals": 18,
  "description": "A multi-chain token",
  "website": "https://token.com",
  "twitter": "@token",
  "tokens": {
    "ethereum": {
      "address": "0x1234123412341234123412341234123412341234"
    },
    "optimism": {
      "address": "0x2345234523452345234523452345234523452345"
    },
    "sepolia": {
      "address": "0x5678567856785678567856785678567856785678"
    },
    "optimism-sepolia": {
      "address": "0x6789678967896789678967896789678967896789"
    },
    "base": {
      "address": "0x7890789078907890789078907890789078907890"
    },
    "base-sepolia": {
      "address": "0x1011121011121011121011121011121011121011"
    }
  }
}
```

请列入 _全部_ 在您提交的符号的下行链条中已部署. 目前我们接受以下连锁店的标志:

-   `ethereum`
-   `optimism`
-   `sepolia`
-   `optimism-sepolia`
-   `base`
-   `base-sepolia`
-   `mode`
-   `lisk`
-   `lisk-sepolia`
-   `redstone`
-   `metall2`
-   `metall2-sepolia`
-   `unichain`
-   `unichain-sepolia`
-   `soneium`
-   `soneium-minato`
-   `celo`
-   `celo-sepolia`
-   `swellchain`
-   `ink`
-   `ink-sepolia`
-   `worldchain`
-   `worldchain-sepolia`

#### 不可连接的符号

如果您想将您的令牌添加到此令牌列表中, 但您不希望您的令牌包含在 Optimism Bridge app中, 请包括 `nobridge` 选项.

```json
{
  "name": "Token Name",
  "symbol": "SYMBOL",
  "decimals": 18,
  "description": "A multi-chain token",
  "website": "https://token.com",
  "twitter": "@token",
  "nobridge": true,
  "tokens": {
    ...
  }
}
```

#### 非标准标志

如果您的令牌不是标准的 ERC20 (例如 DSToken), 请包括 `nonstandard` 选项.

```json
{
  "name": "Token Name",
  "symbol": "SYMBOL",
  "decimals": 18,
  "description": "A multi-chain token",
  "website": "https://token.com",
  "twitter": "@token",
  "nonstandard": true,
  "tokens": {
    ...
  }
}
```

#### 按键覆盖

如果您需要特定符号的覆盖,您可以包括 `overrides` 字段。 您能够覆盖 `name`, (中文(简体) ), `symbol`, (中文(简体) ), `decimals`,或 `bridge` 任何标志。 您不需要同时覆盖每个符号 .

```json
{
  "name": "Token Name",
  "symbol": "SYMBOL",
  "decimals": 18,
  "description": "A multi-chain token",
  "website": "https://token.com",
  "twitter": "@token",
  "tokens": {
    "ethereum": {
      "address": "0x1234123412341234123412341234123412341234",
      "overrides": {
        "name": "My Ethereum Token"
      }
    },
    "optimism": {
      "address": "0x2345234523452345234523452345234523452345",
      "overrides": {
        "bridge": "0x1111111111111111111111111111111111111111"
      }
    }
  }
}
```

##### 桥接器

要覆盖一个L1桥地址,请指定它与L1桥地址连接的L2链. 对于一个L2桥地址覆盖,只需指定L2桥的地址.

以下是一个例子:

```json
{
  "name": "Synthetix",
  "symbol": "SNX",
  "decimals": 18,
  "tokens": {
    "ethereum": {
      "address": "0xc011a73ee8576fb46f5e1c5751ca3b9fe0af2a6f",
      "overrides": {
        "bridge": {
          "optimism": "0x39Ea01a0298C315d149a490E34B59Dbf2EC7e48F"
        }
      }
    },
    "optimism": {
      "address": "0x8700daec35af8ff88c16bdf0418774cb3d7599b4",
      "overrides": {
        "bridge": "0x136b1EC699c62b0606854056f02dC7Bb80482d63"
      }
    },
    "sepolia": {
      "address": "0x51f44ca59b867E005e48FA573Cb8df83FC7f7597",
      "overrides": {
        "bridge": {
          "optimism-sepolia": "0x1427Bc44755d9Aa317535B1feE38922760Aa4e65"
        }
      }
    },
    "optimism-sepolia": {
      "address": "0x2E5ED97596a8368EB9E44B1f3F25B2E813845303",
      "overrides": {
        "bridge": "0xD2b3F0Ea40dB68088415412b0043F37B3088836D"
      }
    }
  }
}
```

### 创建拉动请求

打开 a [拉动请求](https://github.com/ethereum-optimism/ethereum-optimism.github.io/pulls) 你所做的改变 请每个拉动请求只添加一个令牌来简化审查过程. 这意味着在一个新文件夹内有两个新文件. 如果你想添加多个令牌,请为每个令牌打开不同的公关.

### 响应验证检查

您的拉动请求将通过一系列自动检查来验证. 如果其中一项检查失败,请解决这些问题,并确保验证成功。 自动验证成功后,我们将审查你提出的最后批准请求.

### 等待令牌列表自动更新

一旦您的 PR 合并, 令牌列表将自动更新以包含您的令牌 。 请不要更新符号列表( S)`optimism.tokenlist.json`直接进行。 当将 PRs 合并到 `master` 树枝.

请注意: [桥UI](https://app.optimism.io/bridge/deposit) 大约每个工作日更新一次,因此可能需要一天(如星期五更新,则需要三天),直到那里有你的纪念品.

## 常见问题

### @eth-optimism/tokenlist 是什么？

\[optimism\] 令牌列表

### 如何安装 @eth-optimism/tokenlist？

在项目目录运行 npm install @eth-optimism/tokenlist，或使用 pnpm add / yarn add / bun add。

### @eth-optimism/tokenlist 支持 TypeScript 吗？

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

### @eth-optimism/tokenlist 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @eth-optimism/tokenlist 需要什么版本的 Node\.js？

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

### @eth-optimism/tokenlist 可以商用吗？

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

### @eth-optimism/tokenlist 的下载量有多少？

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

### @eth-optimism/tokenlist 还在维护吗？

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

