RPC 节点是什么?钱包连不上时先看这一层
钱包自己不保存整本账,它通过 RPC 节点读余额、广播交易。讲清公共节点和自建节点差在哪,连错网络时余额为什么会暂时消失,以及换节点时为什么不能把助记词交给对方。
余额突然变成 0,转账一直转圈,或者页面写着无法连接。很多时候币还在,是钱包询问账本的那扇窗口出了问题。这扇窗口叫 RPC 节点。
钱包问节点,节点答账本
钱包里保存的是私钥,不是整条链的历史。你打开余额、看一笔交易有没有进块、把签好名的交易送出去,都是钱包在向一台正在运行这条链的电脑提问。这台电脑就是节点。钱包和节点之间的这套远程调用,就是 RPC(Remote Procedure Call)。
可以把它想成查询窗口,不是金库。窗口能告诉你账上有多少钱,也能把你已经签好的单据递进内存池。它拿不到你的助记词,也不能在你没签名的情况下把币转走。
| 节点做的事 | 节点做不到的事 | |
|---|---|---|
| 读余额、读历史 | 按它自己同步到的账本来回答 | 回答不能代替区块浏览器上的最终记录 |
| 广播交易 | 把你签好的交易转给网络 | 不能改掉签名仍让交易有效 |
| 预估能否成功 | 按它看到的状态做一次模拟 | 模拟结果可以被一台恶意节点说假话 |
| 保管资产 | 不保管 | 花你的钱仍然需要你自己的签名 |
公共节点和自己的节点
日常用的钱包,比如 MetaMask,预置的是服务商运行的公共节点。你不用自己下载整本账,打开就能查。代价也清楚:
- 会限流。 问的人太多,或者短时间刷新太频繁,节点会暂时拒绝,余额就卡住
- 会看到你的提问。 服务商知道你的网络地址在查哪些钱包地址。这不是把币交给它,而是隐私上的暴露
- 会宕机。 这一家节点停了,钱包就像断网。换一个节点,或者过一会儿再看,账还在链上
自己运行节点,是自己保留一份账本拷贝,提问不经过那家公司。它更独立,也要磁盘、同步时间和持续在线。新手转账、换币,不需要先做这一步。
连错网络,像是币丢了
每条链有自己的节点。钱包左上角选中的网络,决定它在问哪一本账。以太坊主网、一条 Layer 2、BNB Chain,地址可以长得一样,余额各记各的。切错网络时,原来那条链上的币不会显示出来。
测试网也是这样。节点指向测试网时,你看到的是没有市价的测试币。切回主网,测试币消失,主网的币还在。
所以「余额变 0」时,先核对三件事:网络选对没有、节点是否还连着、用区块浏览器按地址搜是不是仍有余额。浏览器查得到、钱包显示没有,优先怀疑节点或网络,而不是先认为被盗。
恶意节点能骗你看,不能直接花你的钱
一台不诚实的节点可以谎报余额,也可以在你签名前给出错误的模拟结果,让一笔实际很危险的交易看起来无害。它还可以收下你的交易却不广播。这些都会让你做出错误判断。
它改不了你已经签好的内容。签名对不上,网络上的其他节点会拒绝。真正把币转走的那一步,仍然发生在你点确认的时候。所以换 RPC 地址,只填写节点网址和链的参数;任何让你同时输入助记词或私钥的「修复连接」,都是冲着钥匙来的。
有的钱包提供带 MEV 保护的节点:交易不进公开内存池,改送给出块方,用来降低被夹的可能。那仍然是一个 RPC,只是广播路径不同,见 MEV。
添加网络时核对什么
从网页上一键「添加网络」很方便,也是把钱包的查询窗口交到对方写的那个地址上。添加之前核对:
- 网络名称、链和 RPC 网址来自这条链自己的文档或你已经在用的官方钱包列表
- 不从私信、评论区、短视频文案里复制一整段参数
- 添加之后用小额转账或浏览器核对,而不是看到余额就做大额授权
参数填错,最常见的结果是连不上,或者连上另一本账。参数来自骗子时,还要加上上面说的谎报风险。
常见问题
Q:换一个 RPC,原来的币会跟着跑到新节点上吗? 不会。币记在链上。换节点只是换一台你用来读账和发交易的电脑。
Q:公共节点停了,交易是不是作废了? 已经写进区块的交易还在。还没广播出去的,换一个可用节点再发。已经进了内存池、只是这个节点不再回答你的,用交易哈希到区块浏览器上看。
Q:节点能看到我的助记词吗? 按钱包的正常设计不能。助记词不出设备。会看到的是你查询的地址,以及你签完名之后的交易内容。
Q:显示余额和浏览器不一致,以谁为准? 以区块浏览器核对过的链上记录为准,并确认两边看的是同一条链。钱包数字可能来自一台还没同步完、或暂时故障的节点。
Q:有必要自己跑节点吗? 只是转账和偶尔使用应用,没有必要。你在意的是不把查询交给一家公司、或者要长期验证自己收到的付款时,再考虑自己运行。
小结
RPC 节点是钱包读取区块链和送出交易的窗口。公共节点省事,会限流、会宕机,也能看到你在查哪些地址。连错网络时余额会像消失了一样,账仍在原来那条链上。节点可以谎报你看到的画面,不能在没有你签名的情况下转走资产。换节点只填网址,不把助记词交给任何人。