Web3 基础设施:RPCs、节点、Infura/Alchemy(隐形管道)

发布: (2025年12月29日 GMT+8 21:03)
8 min read
原文: Dev.to

I’m happy to translate the article for you, but I need the full text of the post in order to do so. Could you please paste the article’s content (or the portions you’d like translated) here? Once I have the text, I’ll provide a Simplified Chinese translation while preserving the original formatting, markdown, and any code blocks or URLs.

区块链没有节点就“盲目”

记得Day 6吗?
智能合约存在于链上,但它们无法“看到”你的钱包余额、待处理交易或当前区块,除非询问某人。

这个“某人”就是 RPC 节点——一台持续同步区块链的计算机,随时准备回答诸如:

  • “我的 ETH 余额是多少?”
  • “我的交易确认了吗?”
  • “最新的区块是什么?”

没有节点,MetaMask 只是一台没有网络连接的高级计算器。

类比: 你的手机并不存储整个互联网,它会向 Google 询问(“嘿,天气怎么样?”)。RPC 节点就是 Web3 的 Google。

什么是 RPC 节点?(简易版)

  • RPC = 远程过程调用 – 计算机 A 请求计算机 B 执行一个函数并返回结果。
  • RPC 节点 = 区块链的完整副本,它:
    • 下载每个区块、交易和智能合约状态。
    • 使用 JSON‑RPC(区块链查询的标准语言)进行通信。
    • 在你的 dApp/钱包与链之间充当中间人。

每当你:

  • 在 MetaMask 中查看余额
  • 发送交易
  • 查询 Uniswap 价格

MetaMask 会向某个节点发送 RPC 请求。

真实例子: 当你在 Sepolia 部署你的第一个合约时(Day 9),Remix IDE 调用了 RPC 端点:“嘿,帮我广播这笔交易。”

RPC URL – Web3的“电话号码”

每个区块链连接都始于 RPC URL,例如:

https://eth-sepolia.g.alchemy.com/v2/YOUR_API_KEY
https://mainnet.infura.io/v3/YOUR_PROJECT_ID

细分

部分含义
eth-sepolia以太坊 Sepolia 测试网
alchemy.com / infura.io节点提供商
YOUR_API_KEY / YOUR_PROJECT_ID你的免费开发者凭证

MetaMask → Settings → Networks → Ethereum Mainnet → RPC URL 正是这段字符串。

小技巧: 从 Alchemy/Infura 仪表盘复制 URL,粘贴到 MetaMask 的自定义网络,即可瞬间连接到任意链。

自行运行节点 vs. 使用服务提供商

选项 1 – 自己运行(硬核)

geth --sepolia --http --http.api eth,net,web3
  • 下载数百 GB。
  • 必须 24/7 运行。
  • 提供完整控制权,但会产生电费,并且在笔记本电脑休眠时会崩溃。

最佳适用场景: 注重隐私的用户、MEV 机器人、企业级 dApp。

选项 2 – 使用服务提供商(99 % 的开发者)

Infura(ConsenSys)和 Alchemy 支撑约 90 % 的 Web3。

他们为何胜出
99.99 % 正常运行时间(你的节点崩溃 = 你的 dApp 死亡)
自动弹性伸缩(Uniswap 处理每秒 1M+ 请求)
免费层(≈ 30 万请求/天)
内置分析、调试、归档

当你按照 Day 9 Sepolia 部署 操作时,你已经在不知情的情况下使用了 他们 的节点。

Infura vs. Alchemy – 提供商对决

功能InfuraAlchemy胜者
免费额度100 k 请求/天300 k 请求/天Alchemy
可用性99.9 %99.99 %Alchemy
分析工具基础顶级仪表盘Alchemy
L2 支持良好优秀Alchemy
与以太坊基金会的关联紧密正在增长平局

我的选择: Alchemy – 更好的免费额度 + 仪表盘让调试更加轻松。

切换测试: 从两者获取免费 API 密钥,部署相同的合约,你会看到小型项目的速度相当。

实际案例:MetaMask 与 RPC 的工作原理

  1. 在 Uniswap 上点击 “Swap ETH → USDC”。
  2. Uniswap 向 RPC 询问:“我的 ETH 余额是多少?USDC 价格是多少?”
  3. MetaMask 向 RPC 询问:“我可以签名这笔交易吗?Gas 价格是多少?”
  4. 你批准后 → MetaMask 通过 RPC 广播 这笔交易。
  5. RPC 广播 到 Ethereum 矿工/验证者。
  6. 大约 6 个区块后,RPC 确认 “Tx success!”

每一步都是一次 RPC 调用。没有 RPC 就没有 Web3。

如果 Infura 宕机怎么办? 在 MetaMask 设置中切换 RPC URL——大约需要 30 秒。

为什么这对构建者很重要(DevRel 视角)

情境检查要点
初级开发者看到 “contract deploy failed”首先确认 RPC 状态。
扩容的 dApp 用完免费额度升级到付费计划(≈ $49/月)。
注重隐私的项目自建节点 + Tor。
MEV 机器人使用归档节点(完整历史数据)。

来自我的 Sepolia 部署经验: 我花了 2 小时调试 “transaction underpriced”,才发现是 RPC 被限流了。再也不犯同样的错误。

专业做法: 准备 2–3 条 RPC URL——主用、备份,若可能的话再加一条自托管的。

实践操作:搭建您自己的 RPC 管道(≈ 5 分钟)

  1. 注册 一个提供商(免费套餐)。

  2. 创建应用 → 复制 Sepolia RPC URL。

  3. MetaMask → Settings → Networks → Add Network

字段
网络名称Sepolia (Alchemy)
RPC URLhttps://eth-sepolia.g.alchemy.com/v2/YOUR_KEY
链 ID11155111
货币符号ETH
区块浏览器 URL(可选)https://sepolia.etherscan.io
  1. 测试: 向您的地址发送 0.001 Sepolia ETH。它应立即显示。

  2. 挑战: 使用 您的 Alchemy RPCInfura 部署 Day 9 中的合约。比较速度。

反思 – “恍然大悟”时刻

RPC 看起来很枯燥,直到我意识到:MetaMask 并不神奇,它只是一个高级的 RPC 客户端。

理解节点可以解释以下现象:

  • 交易会“卡住”(RPC 速率限制)。
  • dApp 在网络拥堵时崩溃(提供者过载)。
  • “私有”钱包并不真正私密(共享 RPC 能看到所有请求)。

下次有人说 “Web3 只不过是 HTTPS 上的 JSON,” 请点头表示认同。

关键要点

RPC 节点是 Web3 的 Google —— 每一次钱包点击、代币交换和合约调用都要经过它们。
Infura 和 Alchemy 处理了大部分流量,但了解如何选择、配置,以及(如有必要)自行运行节点,对于实现可靠、可扩展且私密的区块链开发至关重要。

# 90% of traffic so you don't have to.

接下来该做什么

学习

  • 创建 Alchemy 账户并在 MetaMask 中添加自定义 RPC。
  • 阅读 Day 23(链上身份)——记住 ENS 查询也会访问 RPC(敬请期待)。

构建

  • 收藏三个 RPC 提供商:AlchemyInfuraQuickNode
  • 在生产环境中绝不要硬编码单一的 RPC URL。

加入我们

  • 在下方留下你的 “RPC 恐怖故事” 👇

Web3ForHumans – Telegram:分享你的节点配置!

关注我:


## 进一步阅读

- **Alchemy – RPC 节点指南**  
- **Cherry Servers – 什么是 RPC 节点**  
- **MetaMask – 如何添加自定义 RPC**  
- **Alchemy vs Infura 对比**
Back to Blog

相关文章

阅读更多 »