EVM 链 ID 列表:以太坊、Base、Arbitrum、Polygon 以及每一条你会被要求填写的网络

每条 EVM 网络的链 ID 详解,作者:ChainGate.

链 ID 是唯一标识一条 EVM 兼容区块链的整数,由 EIP-155 定义,并包含在每个交易签名中,因此为一条网络签名的交易无法在另一条网络上重放。以太坊主网是 1,Base 是 8453,Arbitrum One 是 42161,Polygon PoS 是 137,BNB Smart Chain 是 56,Optimism 是 10,Avalanche C-Chain 是 43114,Sepolia 测试网是 11155111。

主网和测试网的完整列表在第 2 节和第 3 节,每个编号还附有十六进制形式,因为钱包和 RPC 端点经常以这种方式显示它(Base 的十进制是 8453,十六进制是 0x2105)。

链 ID 总在最糟糕的时刻冒出来:一个保存不了的钱包表单、一个提示「unsupported chain」的 dapp、一个要先拿到这个数字才肯签名的库。网上的列表只给数字不讲含义,讲解文章只讲含义不给列表。这个页面两者都有:这个整数的作用、人们真正在用的网络的链 ID(十进制和十六进制都有),以及如何在几秒钟内自己查验一个链 ID。

简要版

  • 链 ID 是标识一条 EVM 网络的整数。以太坊是 1,Optimism 是 10,BNB Smart Chain 是 56,Polygon 是 137,Base 是 8453,Arbitrum One 是 42161,Avalanche 是 43114,Sepolia 是 11155111。
  • 自 EIP-155 起它就是每个签名的一部分,所以为链 1 签名的交易在其他所有链上都会被拒绝。这就是阻止跨网络重放攻击的机制。
  • 十六进制和十进制是同一个数:MetaMask 显示 0x2105,chainlist 显示 8453,两者都指 Base。
  • 权威值是该网络的 RPC 端点对 eth_chainId 返回的结果。自定义网络填入的链 ID 与这个答案不一致时,钱包会拒绝添加。

1. 什么是链 ID?

每条 EVM 网络,从以太坊本身到最小的 Layer 2,都带有一个整数,用来告诉软件它在和哪条链通信。这个整数就是链 ID。它不是地址,不是合约,也不是网络名称:它只是一个普通的数字,节点、钱包、库和 dapp 都认同它,而且它被写进你签署的每一笔交易里。

这个数字来自 EIP-155,该提案在 2016 年的 Spurious Dragon 硬分叉中于区块 2,675,000 激活。在此之前,在一条链上签名的以太坊交易,在任何存在同一账户的链上都有效;以太坊和 Ethereum Classic 分裂后共享所有地址,这就成了实实在在的问题。EIP-155 把链 ID 加进了被签名的数据,所以签名只在它所针对的那条链上才能通过验证。

实际中你会在三个地方遇到链 ID:钱包的网络设置、不支持你当前网络的 dapp 的错误提示,以及任何签署交易的库的配置。

2. 链 ID 列表:主网

下面这些网络是人们常搜索的,也是本站追踪的。数值来自 ethereum-lists/chains 注册表,chainlist.org 和 chainid.network 都建立在它之上,核对日期为 2026年10月18日。ChainGate 有该网络 gas 追踪器的,网络名称会链接过去。

网络链 ID十六进制原生代币
Ethereum Mainnet10x1ETH
OP Mainnet (Optimism)100xaETH
Cronos250x19CRO
BNB Smart Chain560x38BNB
Syscoin570x39SYS
Ethereum Classic610x3dETC
Gnosis1000x64XDAI
Unichain1300x82ETH
Polygon PoS1370x89POL
Monad1430x8fMON
Sonic1460x92S
opBNB2040xccBNB
Fantom Opera2500xfaFTM
zkSync Era3240x144ETH
PulseChain3690x171PLS
World Chain4800x1e0ETH
Polygon zkEVM11010x44dETH
Moonbeam12840x504GLMR
Moonriver12850x505MOVR
Sei13290x531SEI
Soneium18680x74cETH
Ronin20200x7e4RON
Kava22220x8aeKAVA
peaq33380xd0aPEAQ
Mantle50000x1388MNT
Base84530x2105ETH
Haqq Network112350x2be3ISLM
Arbitrum One421610xa4b1ETH
Arbitrum Nova421700xa4baETH
Celo422200xa4ecCELO
Avalanche C-Chain431140xa86aAVAX
Ink570730xdef1ETH
Linea591440xe708ETH
Berachain800940x138deBERA
Blast814570x13e31ETH
Chiliz Chain888880x15b38CHZ
Taiko1670000x28c58ETH
Scroll5343520x82750ETH
Zora77777770x76adf1ETH

其中有几个容易让人栽跟头。Polygon PoS 是 137,它的原生代币现在是 POL,不再是 MATIC;Polygon zkEVM 是另一条链,1101。OP Mainnet 就是大多数人仍叫 Optimism 的那条网络。Arbitrum One(42161)是 Arbitrum 的主链;Arbitrum Nova(42170)是另一条面向游戏和社交应用的链。BNB Smart Chain(56)和 opBNB(204)是两条不同的网络,gas 代币相同。Ethereum Classic 的网络 ID 是 1,和以太坊一样,但链 ID 是 61,这正是 EIP-155 要解决的情形。

3. 链 ID 列表:测试网和本地网络

测试网有自己的链 ID;钱包切到错误的测试网时,在正确网络上安然无恙的资金会显示为零余额。

网络链 ID十六进制备注
Ethereum Sepolia111551110xaa36a7以太坊推荐用于应用开发的测试网
Ethereum Hoodi5600480x88bb0用于质押和验证者测试的以太坊测试网
Ethereum Holesky170000x42682025年9月起已弃用,请改用 Hoodi
Base Sepolia845320x14a34Base 测试网
Arbitrum Sepolia4216140x66eeeArbitrum 测试网
OP Sepolia111554200xaa37dcOP Mainnet 测试网
Polygon Amoy800020x13882Polygon PoS 测试网
BNB Smart Chain Testnet970x61BNB Smart Chain 测试网
Avalanche Fuji431130xa869Avalanche C-Chain 测试网
Hardhat Network (local)313370x7a69本地 Hardhat Network 的默认值
Geth private chain (local)13370x539Geth 私有链的默认值;Besu 的开发网络也用它

以太坊测试网的状态来自 ethereum.org;Hardhat 的默认值见其网络参考文档,Geth 的默认值则写在 EIP-155 本身。本地链是唯一一个两种工具会选不同默认值的地方,所以如果连接本地节点时钱包报错,先确认它是 1337 还是 31337。

4. 链 ID 为什么重要?

因为它是签名的一部分。在 EIP-155 下,链 ID 是签名前参与哈希的字段之一,签名的 v 值被设为链 ID 乘以二再加 35 或 36。链 137 上的节点收到一笔为链 1 签名的交易时,无法从中恢复出有效的发送方,于是丢弃它。同一个账户、同一个 nonce、同一个接收方在两条链上都存在,但签名只在其中一条上有效。

其他一切都由此而来。钱包用链 ID 来显示正确的网络名称、货币符号和区块浏览器。dapp 用它来选择要调用的合约地址,这就是为什么为 Base 构建的 dapp 在你的钱包处于以太坊时会拒绝工作。库用它来构造签名,这就是为什么配置里填错它会产生永远不会上链的交易。

5. 链 ID 与网络 ID

以太坊网络带有两个标识符,大多数时候它们是同一个数字,所以这两个词常被混用。Hyperledger Besu 文档用一句话说清了区别:节点之间的点对点通信使用网络 ID,而交易签名过程使用链 ID。

两者在少数已知情形下不同。以太坊和 Ethereum Classic 的网络 ID 都是 1,因为它们在 2016 年之前是同一条网络,但链 ID 分别是 1 和 61。Besu 的开发网络使用链 ID 1337、网络 ID 2018。对于以太坊主网、Sepolia、Hoodi 和上表中的每一条 Layer 2,两个值都相同,而且你在钱包里做的任何操作都不会要求填网络 ID。

在 JSON-RPC 中它们是两个独立的调用:eth_chainId 以十六进制字符串返回链 ID,net_version 以十进制字符串返回网络 ID。如果某个工具在钱包或 dapp 的语境下要「网络 ID」,它几乎总是指链 ID。

6. 如何查找一条网络的链 ID?

四种方法,从最快到最权威。

本页的表格
覆盖人们日常使用的网络,每个编号旁边都附有十六进制形式。
chainlist.org 或 chainid.network
两者都读取 GitHub 上的 ethereum-lists/chains 注册表,其中收录了 2,800 多条 EVM 链。按名称搜索就能得到链 ID、原生代币和公共 RPC URL。MetaMask 自己的帮助页面指向 Chainlist,并注明 MetaMask 不维护那里的数据,所以添加网络前请先核对条目。
钱包的网络设置
MetaMask、Rabby、Trust Wallet 等钱包都会在每条已配置网络的详情里显示其链 ID。这就是钱包实际用来签名的那个数字。
RPC 端点本身
在节点上调用 eth_chainId。它返回什么,按定义就是该网络的链 ID,也是你添加自定义网络时钱包用来比对的值:
curl -s -X POST https://mainnet.base.org \
  -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"eth_chainId","params":[]}'

# {"jsonrpc":"2.0","id":1,"result":"0x2105"}
# 0x2105 = 8453, so this endpoint is Base

结果是十六进制。0x2105 就是 8453,所以这个端点属于 Base。任何 JSON-RPC 提供商都无需 API key 就能响应这个调用,这使它成为确认别人给你的 RPC URL 是否真是他们所说的那条网络的最快方式。

7. 如何用链 ID 在 MetaMask 中添加网络?

添加自定义网络就是填写 EIP-3085 定义的五个字段,这项标准也是 wallet_addEthereumChain 调用的基础,dapp 用这个调用一键完成同样的事:

网络名称
自由文本,仅用于显示。
RPC URL
钱包将与之通信的 JSON-RPC 端点。公共端点见 Chainlist;你自己的服务商提供的 URL 也可以。
链 ID
上表中的编号。钱包表单接受十进制;dapp 在 API 调用中以 0x 前缀的十六进制传入。
货币符号
原生代币的名称:Base 和 Arbitrum 上是 ETH,Polygon 上是 POL,BNB Smart Chain 上是 BNB,Avalanche 上是 AVAX。
区块浏览器 URL
可选。让钱包能把交易链接到浏览器。

链 ID 和 RPC URL 必须一致。EIP-3085 要求钱包在收到的链 ID 与 RPC 端点的 eth_chainId 返回值不匹配时拒绝请求,MetaMask 遇到这种情况会在表单上显示错误。如果你看到它,要么编号错了,要么 URL 属于另一条网络,要么 URL 是失效的端点;用上一节的 curl 调用测试一下。

8. 为什么会出现链 ID 不匹配或 unsupported chain 错误?

钱包和 dapp 的措辞各不相同,但原因只有这么几种:

RPC URL 和链 ID 不一致
你填了 8453 却粘贴了以太坊主网的 URL,或者反过来。钱包询问了端点,得到不同的答案,于是拒绝。改正错的那一个。
dapp 不支持你所在的网络
「Unsupported chain」或「wrong network」表示 dapp 的合约部署在其他链 ID 上。把钱包切换到 dapp 列出的网络之一,通常通过它自己的网络按钮。
交易签名用的链 ID 与节点的不同
节点会以 invalid-sender 或 invalid-chain-id 错误拒绝它,因为 EIP-155 签名无法在那条链上恢复。这是发送软件的配置错误,绝不是网络故障。
本地链改了 ID
用与 MetaMask 已保存的不同的链 ID 重启开发节点,会产生不匹配和过期的 nonce。删除并重新添加本地网络。
混用了十六进制和十进制
0x89 就是 137,但一个期望十进制的表单会把「0x89」当成文本。钱包表单用十进制,API 调用用十六进制。

9. 十进制、十六进制和 CAIP-2:同一个 ID 的三种写法

Chainlist 和钱包表单以十进制显示链 ID。JSON-RPC、EIP-3085 和 MetaMask 的内部设置使用 0x 前缀的十六进制,所以 137 显示为 0x89,42161 显示为 0xa4b1,11155111 显示为 0xaa36a7。它们是同一个整数;上表两种形式都给出了。

WalletConnect 之类的多链工具又加了第三种形式 CAIP-2,它在数字前加上命名空间,让 EVM 之外的链也能共用一套标识方案:以太坊主网是 eip155:1,Polygon 是 eip155:137,Base 是 eip155:8453。eip155 这部分表示「这是一个 EVM 链 ID」;冒号后面的数字就是和其他地方一样的链 ID。

10. 比特币和 Solana 有链 ID 吗?

没有 EIP-155 意义上的链 ID。链 ID 是 EVM 的概念,比特币、Litecoin、Dogecoin、Solana 和 XRP 都没有,这也是为什么添加这些币种时钱包从不向你索要它。

这些网络用其他方式区分主网和测试网络。比特币系的链在主网和测试网上使用不同的地址格式和网络参数,所以测试网地址的开头不一样。Solana 运行着几个独立的集群,分别叫 Mainnet、Devnet 和 Testnet,每个都有自己的 RPC 端点。如果在充值比特币或 Solana 时表单向你要「链 ID」,它问的是用哪条网络,而不是要一个数字。

11. 在代码中使用链 ID

任何签署 EVM 交易的库都需要链 ID,要么来自配置,要么向节点询问。使用 ChainGate SDK 时,托管的网络已经自带链 ID,自定义 EVM 网络则把它作为参数与 RPC URL 一起传入:

import { ChainGate, importWallet } from 'chaingate';

const cg = new ChainGate({ apiKey: process.env.CHAINGATE_API_KEY });
const wallet = importWallet({ phrase: process.env.MNEMONIC });

// Hosted networks already know their chain ID
const base = cg.connect(cg.networks.base, wallet);

// Any other EVM network: pass the RPC URL and the chain ID it reports
const scroll = cg.networks.evmRpc({
  rpcUrl: 'https://rpc.scroll.io',
  chainId: 534352,
  name: 'Scroll',
  symbol: 'ETH',
});
const scr = cg.connect(scroll, wallet);

你传入的值必须与端点对 eth_chainId 报告的值一致,原因见第 4 节。这篇用 JavaScript 发送加密货币的教程介绍了流程的其余部分,而ChainGate 文档列出了托管的 RPC URL。

12. 接下来看什么

链 ID 确定之后,在任何网络上接下来的问题都是在那里发送一笔交易要花多少钱。多链 gas 追踪器以实时费用覆盖上面主网表格中的每一条网络,而Gas 费指南解释了它显示的那些数字。如果一笔交易已经发出而你需要找到它,交易哈希指南展示了如何在正确的浏览器上查询。如果你希望用一个 TypeScript 库就在所有这些链上搞定钱包、转账和 RPC 访问,ChainGate 就是本站背后的 SDK。

常见问题

加密货币里的链 ID 是什么?

唯一标识一条 EVM 兼容区块链的整数,由 EIP-155 定义。它包含在每个交易签名中,因此为一条网络签名的交易在其他所有网络上都无效。以太坊主网是 1,Base 是 8453,Arbitrum One 是 42161,Polygon 是 137。

以太坊主网的链 ID 是多少?

1,十六进制写作 0x1。它的测试网是 Sepolia(11155111)和 Hoodi(560048);Holesky(17000)从 2025年9月起已弃用。

Base 的链 ID 是多少?

十进制 8453,十六进制 0x2105。Base Sepolia 测试网是 84532。

Arbitrum 的链 ID 是多少?

Arbitrum One 是 42161(0xa4b1)。Arbitrum Nova 是另一条链,42170,Arbitrum Sepolia 测试网是 421614。

Polygon 的链 ID 是多少?

Polygon PoS 是 137(0x89),原生代币是 POL。Polygon zkEVM 是另一条链,1101,Polygon Amoy 测试网是 80002。

链 ID 和网络 ID 有什么区别?

网络 ID 用于节点之间的点对点通信;链 ID 用于交易签名。在以太坊主网和每条公共测试网上两者是同一个数字,但 Ethereum Classic 的网络 ID 是 1、链 ID 是 61,Besu 的开发网络使用链 ID 1337、网络 ID 2018。

如何查找一条网络的链 ID?

在 chainlist.org 或 chainid.network 上查,在钱包的网络设置里看,或者向该网络的 RPC URL 发送一个 eth_chainId JSON-RPC 调用。RPC 返回的十六进制值是权威值。

为什么 MetaMask 提示链 ID 不匹配?

因为你输入的 RPC URL 报告的链 ID 与你填写的不同。EIP-3085 要求钱包拒绝这种组合。对照列表检查编号,或对该 URL 调用 eth_chainId 看看它到底是哪条网络。

链 ID 和 MetaMask 里的十六进制值是一回事吗?

是的。MetaMask 和 JSON-RPC 使用 0x 前缀的十六进制,Chainlist 和钱包表单使用十进制,但 0x2105 和 8453 是同一个数。在两者之间换算即可,千万不要在同一个字段里混用。

使用 ChainGate 构建

把这些想法落地 —— ChainGate 提供钱包、交易与托管 RPC,一次安装即可覆盖以太坊以及 20 多条其他区块链。