摘要
**链列表**是一个区块链网络目录,包含开发者连接所需的元数据:链 ID、原生货币、区块浏览器和 RPC 端点。最常见的版本是 EVM 链列表,其中每个条目遵循相同的模式,因此钱包和 Web3 中间件无需手动配置即可添加网络。该数据的权威来源是 ethereum-lists/chains 仓库,它为 Chainlist 等目录提供支持。
但链列表回答的问题比大多数开发者实际面临的问题更狭窄。找到链 ID 很容易;决定在生产环境中为该链使用哪个 RPC 端点才是更难的部分。目录中列出的公共端点通常是共享的、有速率限制的,并且很少用于持续的应用流量。本文介绍如何正确阅读链列表、哪些字段对钱包和 dApp 配置重要,以及如何从目录条目转向可靠的 RPC 设置。
如果你已经知道需要哪条链,最快的途径是查看 OnFinality 支持的 RPC 网络 以获取托管端点,或者如果你正在规划生产流量,请查看 RPC 定价。本页其余部分解释了链列表背后的数据模型以及随之而来的决策。
关键要点
- 链列表是元数据,不是基础设施:链 ID 和 RPC URL 是不同的关注点。
- ethereum-lists/chains 仓库是大多数 EVM 链目录背后的上游来源。
- 链 ID 是防止跨链交易错误的字段;在任何钱包配置之前都要验证它。
- 目录中的公共 RPC 端点适合测试,但不适合持续的应用流量。
- 对于生产环境,根据工作负载、归档需求和故障转移来评估托管 RPC 或专用节点。
- OnFinality 在支持的网络上提供托管 RPC API 访问和专用节点选项。
链列表实际包含什么
链列表是区块链网络的结构化目录。对于 EVM 链,每个条目通常包括链名称、链 ID(十进制和十六进制)、短名称、原生货币符号和小数位数、区块浏览器 URL 以及一个或多个 RPC 端点。非 EVM 链出现在更广泛的列表中,但使用不同的元数据,因为它们不共享 EVM JSON-RPC 接口。
最广泛引用的来源是 ethereum-lists/chains 仓库。每条链都有自己的 JSON 文件,以其 CAIP-2 标识符命名,像 Chainlist 这样的目录将该数据渲染为可搜索的界面。当你在钱包或 dApp 中看到链 ID 时,它通常可以追溯到该仓库或其镜像。
重要的区别:链列表告诉你如何识别网络,而不是如何对其进行操作。链 ID 是稳定的协议元数据。RPC URL 是随工作负载变化的操作选择,而目录中的公共端点由阅读该页面的所有人共享。
- 链 ID:用于交易和钱包配置的数字标识符。
- 原生货币:用于显示和 gas 计算的符号和小数位数。
- RPC URL:一个或多个端点,通常是公共的且有速率限制。
- 浏览器 URL:用于验证和调试的区块浏览器链接。
- CAIP-2 标识符:上游仓库中使用的 namespace:reference 格式。
快速建议:目录查找 vs 生产端点
当你需要配置钱包、验证链 ID 或将测试网添加到开发环境时,使用链列表。当你需要一个能够处理应用流量、归档查询或 WebSocket 订阅而无需与匿名用户竞争的端点时,使用托管 RPC 提供商。
下表将常见任务映射到正确的来源。如果你的任务在右列,目录条目不是最终答案。
| 标准 | 检查内容 | 为什么重要 |
|---|---|---|
| 将网络添加到钱包 | 来自链列表的链 ID、货币符号、浏览器 URL | 钱包配置只需要元数据;无需流量承诺 |
| 在测试网上测试合约 | 测试网链 ID 和公共水龙头端点 | 低流量使得共享公共端点可以接受 |
| 运行 dApp 后端 | 具有文档化限制和故障转移的托管 RPC | 共享公共端点不适合应用流量 |
| 查询历史状态 | 提供商上的归档节点可用性 | 大多数公共目录端点已修剪,而非归档 |
| 订阅事件 | WebSocket 支持和连接限制 | 仅 HTTP 端点无法提供订阅 |
导致最多配置错误的字段
大多数链列表错误来自三个字段:链 ID、RPC URL 和货币小数位数。错误的链 ID 会将交易发送到错误的网络或导致钱包拒绝签名。过时的 RPC URL 会产生看起来像应用错误的超时。错误的小数位数会错误显示余额而不破坏交易,这使得错误更难被发现。
链 ID 值得特别关注,因为它以两种格式出现。钱包和 JSON-RPC 期望十六进制数量,例如以太坊主网的 0x1,而许多列表显示十进制形式 1。在它们之间转换很简单但容易跳过,配置的链 ID 与端点的实际网络之间的不匹配将表现为无效链 ID 错误。
对于 RPC URL,将目录中的任何公共端点视为开发便利。在围绕它构建之前,检查端点是否支持你需要的方法、它是归档还是修剪的,以及它是否接受 WebSocket 连接。
- 在配置钱包之前,以十进制和十六进制验证链 ID。
- 通过调用 eth_chainId 确认 RPC 端点的网络,而不是信任标签。
- 检查原生货币小数位数;不要假设每条链都是 18。
- 优先使用 HTTPS 端点;避免浏览器 dApp 中的混合内容失败。
- 记录你硬编码的任何链元数据的来源和日期。
用单个请求验证链条目
在将链接入应用之前,确认端点实际提供你期望的网络。eth_chainId 方法以十六进制数量返回链 ID,你可以将其与链列表中的十进制值进行比较。
下面的示例使用占位符端点。将其替换为你的提供商或链的官方文档中的端点;不要假设公共目录 URL 已准备好用于生产。
curl -X POST https://your-rpc-endpoint.example \- -H "Content-Type: application/json" \
- -d '{"jsonrpc":"2.0","method":"eth_chainId","params":[],"id":1}'
- 预期响应形状:以太坊主网的 {"jsonrpc":"2.0","id":1,"result":"0x1"}。
从链列表到生产 RPC:评估什么
一旦你超越目录查找,决策就从元数据转向操作。提供商的价值在于它如何处理你的特定工作负载:请求量、方法组合、归档深度和连接类型。下面的评估是起始检查清单,不是排名。
OnFinality 在多个支持的网络上提供托管 RPC API 访问和专用节点基础设施。有关逐链视图,请参阅支持的 RPC 网络;有关工作负载规划,请参阅 RPC 定价。如果你需要隔离容量,专用节点是相关选项。
| 标准 | 检查内容 | 为什么重要 |
|---|---|---|
| 工作负载形态 | 请求速率、突发模式和方法组合 | 共享端点和专用容量适合不同的流量模式 |
| 归档和跟踪 | 历史状态和跟踪方法是否可用 | 修剪端点在历史查询和调试调用上失败 |
| 传输 | HTTP、WebSocket 和批量请求支持 | 订阅和高吞吐量读取需要的不仅仅是普通 HTTP |
| 故障转移 | 多个端点和提供商侧冗余 | 单个端点是你应用的单一故障点 |
| 可观测性 | 请求日志、错误率和使用可见性 | 你无法调试你无法测量的东西 |
阅读链列表中的非 EVM 条目
并非列表中的每条链都使用 EVM JSON-RPC。Solana、Polkadot 和其他生态系统有自己的 RPC 接口和自己的元数据约定。通用链列表可能包含它们,但字段不会与 EVM 钱包配置一一对应。
对于非 EVM 网络,有用的字段是网络标识符、RPC 端点和链特定 API 的文档。OnFinality 为每条支持的链提供的网络页面是比通用目录更好的参考,因为它们反映了提供商实际提供的端点和方法支持。
如果你正在构建多链,请为每个生态系统保留单独的配置,而不是将所有内容强制放入一个 EVM 形状的模式中。这可以避免当链不支持你的 EVM 代码所假设的方法时出现静默失败。
- EVM 链:链 ID、货币、浏览器、JSON-RPC 端点。
- Solana:集群名称、RPC 端点、WebSocket 端点。
- Polkadot 和 Substrate:网络名称、RPC 端点、链特定方法。
- 为每个生态系统保留单独的配置对象,以避免方法不匹配。
添加新链的实用工作流程
当新链出现在你的路线图中时,下面的顺序将元数据和基础设施决策分开。它还为你提供了验证内容和时间的记录。
从上游仓库或链的官方文档开始,而不是第三方镜像。通过实时 eth_chainId 调用确认链 ID。然后决定链是测试网还是生产目标,并相应地选择端点。对于生产环境,优先选择具有文档化限制的托管提供商,而不是公共目录 URL。
- 1. 在上游仓库或官方文档中找到链。
- 2. 记录链 ID、货币小数位数和浏览器 URL。
- 3. 在配置应用之前用 eth_chainId 验证端点。
- 4. 决定测试网 vs 生产环境并选择端点类别。
- 5. 在启动前添加故障转移和监控。
- 6. 当链宣布升级时重新检查元数据。
常见问题
什么是链列表?
链列表是区块链网络的目录,包含链 ID、原生货币、区块浏览器和 RPC 端点等元数据。对于 EVM 链,最常见的上游来源是 ethereum-lists/chains 仓库。
链列表和 RPC 提供商列表一样吗?
不一样。链列表标识网络,通常包含公共 RPC URL 以方便使用。RPC 提供商列表是关于应用流量的操作端点,包括限制、归档支持和传输选项。
我可以在生产环境中使用链列表中的公共 RPC 端点吗?
公共端点通常是共享的且有速率限制,因此更适合测试和钱包配置。对于生产流量,请评估具有文档化限制和故障转移的托管 RPC 提供商或专用节点。
如何验证链 ID?
在端点上调用 eth_chainId,并将十六进制结果与列表中的十进制链 ID 进行比较。对于以太坊主网,响应是 0x1,对应十进制 1。
OnFinality 是否支持 EVM 网络之外的链?
OnFinality 支持跨生态系统的多种网络。请查看支持的 RPC 网络页面以获取当前列表和每个网络的详细信息。