摘要
Scroll 是以太坊上兼容 EVM 的零知识 rollup。Scroll RPC 端点允许钱包、dApp 和脚本使用标准的以太坊 JSON-RPC 方法与 Scroll 网络交互。本文解释了网络参数、如何连接,以及如何为生产环境选择可靠的 RPC 提供商。
快速建议:Scroll RPC 用什么
如果你在 Scroll 上构建,第一个决定是使用公共 RPC 端点、共享提供商端点还是专用节点。对于生产 dApp,托管 RPC 提供商通常是正确的选择,因为它为你处理负载均衡、故障转移和速率限制。像 https://rpc.scroll.io 这样的公共端点适合测试,但它们可能会变得拥堵,并且不是为高吞吐量应用设计的。
在评估提供商时,请检查:
- 可靠性:提供商是否提供多个端点和自动故障转移?
- 性能:典型 JSON-RPC 调用的延迟和吞吐量如何?
- 支持:提供商是否提供 WebSocket 连接以支持实时更新?
- 定价:是否有免费层或按需付费选项适合你的使用情况?
OnFinality 提供具有全球基础设施的托管 Scroll RPC 端点。你可以查看 RPC 定价 和 支持的网络 列表以开始使用。
Scroll 网络参数一览
Scroll 是一个兼容 EVM 的零知识 rollup。这意味着你可以使用与以太坊相同的工具和库,只需使用不同的 RPC URL 和链 ID。
| 参数 | 值 |
|---|---|
| 网络名称 | Scroll 主网 |
| RPC URL | https://rpc.scroll.io(公共) |
| 链 ID | 534352 |
| 货币符号 | ETH |
| 区块浏览器 | https://scrollscan.com |
| WebSocket URL | wss://scroll-rpc.publicnode.com(示例) |
这些参数是你将 Scroll 添加到 MetaMask 等钱包或配置 dApp 所需的。
将 Scroll 添加到钱包或 dApp
大多数 EVM 钱包允许你添加自定义网络。以下是一个典型配置:
{
"chainId": "0x82750",
"chainName": "Scroll Mainnet",
"rpcUrls": ["https://rpc.scroll.io"],
"nativeCurrency": {
"name": "Ether",
"symbol": "ETH",
"decimals": 18
},
"blockExplorerUrls": ["https://scrollscan.com"]
}
在 MetaMask 中,你可以点击“添加网络”并粘贴这些值。对于编程访问,你可以使用 ethers.js 或 viem:
import { ethers } from "ethers";
const provider = new ethers.JsonRpcProvider("https://rpc.scroll.io");
const network = await provider.getNetwork();
console.log(network.chainId); // 534352n
发起你的第一个 JSON-RPC 调用
一旦你有了端点,你可以使用标准的以太坊 JSON-RPC 方法与 Scroll 交互。以下是一个简单的 curl 示例,用于获取最新区块号:
curl -X POST https://rpc.scroll.io \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
响应将如下所示:
{
"jsonrpc": "2.0",
"id": 1,
"result": "0x2104a3b"
}
你还可以使用 WebSocket 进行实时订阅:
const ws = new WebSocket("wss://scroll-rpc.publicnode.com");
ws.onopen = () => {
ws.send(JSON.stringify({
jsonrpc: "2.0",
method: "eth_subscribe",
params: ["newHeads"],
id: 1
}));
};
ws.onmessage = (event) => {
console.log(event.data);
};
如何选择 Scroll RPC 提供商
在选择 Scroll 提供商时,请考虑以下标准:
| 标准 | 检查什么 | 为什么重要 |
|---|---|---|
| 正常运行时间 | 历史正常运行时间和 SLA | 停机意味着你的 dApp 不可用 |
| 延迟 | 地理分布和响应时间 | 更低的延迟改善用户体验 |
| 吞吐量 | 速率限制和并发请求处理 | 高流量应用需要余量 |
| 数据可用性 | 归档节点、trace 支持 | 调试和分析可能需要历史数据 |
| WebSocket 支持 | 实时订阅 | 对于实时更新和通知至关重要 |
| 定价 | 免费层、按需付费、专用选项 | 成本随使用量增长 |
OnFinality 提供共享和专用 Scroll RPC 选项。你可以从免费层开始,随着项目增长进行升级。有关详细信息,请参阅 RPC 定价。
常见陷阱和故障排除
1. 链 ID 不匹配
如果你遇到类似 chainId mismatch 的错误,请确保你的钱包或 dApp 配置了正确的链 ID 534352。仔细检查你是否意外使用了以太坊主网的链 ID。
2. 速率限制
公共端点通常有速率限制。如果你看到 429 Too Many Requests,请考虑使用具有更高限制的提供商或专用节点。
3. WebSocket 断开
WebSocket 连接可能因网络问题或服务器重启而断开。在你的应用程序中实现重连逻辑。
4. 区块最终性
Scroll 是一个 zkRollup,但最终性不是即时的。交易在证明提交到以太坊后才被视为最终,这可能需要几分钟。不要仅仅因为交易包含在区块中就认为它是最终的。
使用 eth_getTransactionReceipt 进行调试
当交易失败时,你可以检查收据以了解原因:
curl -X POST https://rpc.scroll.io \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_getTransactionReceipt","params":["0x..."],"id":1}'
检查 status 字段:0x1 表示成功,0x0 表示失败。如果失败,你可以使用相同的参数调用 eth_call 来模拟交易并查看回滚原因。
生产就绪检查清单
在 Scroll 上启动之前,请确保你具备:
- 具有故障转移的可靠 RPC 提供商
- 支持实时功能的 WebSocket
- 对速率限制和超时的适当错误处理
- 对 RPC 健康状况的监控和警报
- 处理链重组的策略
关键要点
- Scroll 是一个兼容 EVM 的 zkRollup,因此你可以使用标准的以太坊工具。
- 主网链 ID 是
534352,原生代币是 ETH。 - 公共 RPC 端点适合测试,但生产应用应使用托管提供商。
- 评估提供商的正常运行时间、延迟、吞吐量和支持。
- OnFinality 提供具有灵活定价的托管 Scroll RPC 端点。
常见问题解答
Scroll RPC URL 是什么?
公共 RPC URL 是 https://rpc.scroll.io。对于生产环境,请考虑使用像 OnFinality 这样的托管提供商。
Scroll 链 ID 是什么?
Scroll 主网链 ID 是 534352(十六进制 0x82750)。
Scroll 是否兼容 EVM?
是的,Scroll 是 Type 1 zkEVM,这意味着它与以太坊在字节码级别兼容。你可以部署现有的智能合约而无需修改。
如何获取 Scroll 测试网 ETH?
Scroll Sepolia 测试网已于 2026 年 7 月 30 日关闭。有关当前测试网选项,请查看 Scroll 文档。
我可以将 WebSocket 与 Scroll 一起使用吗?
是的,许多提供商提供 WebSocket 端点以支持实时订阅。
如何在共享和专用 Scroll RPC 之间选择?
共享端点具有成本效益,并且对于大多数应用来说足够。专用节点提供可预测的性能,更适合高流量或对延迟敏感的应用。有关更多详细信息,请参阅我们的 选择 RPC 提供商 指南。