BTC 68,420 ▲ +2.34% ETH 3,542 ▲ +1.08% SOL 168.4 ▼ -0.82% BNB 604.1 ▲ +0.46% USDT 1.000 ▲ +0.01% ARB 0.842 ▼ -1.24% MATIC 0.523 ▲ +3.11% AVAX 34.62 ▼ -0.55% BTC 68,420 ▲ +2.34% ETH 3,542 ▲ +1.08% SOL 168.4 ▼ -0.82% BNB 604.1 ▲ +0.46% USDT 1.000 ▲ +0.01% ARB 0.842 ▼ -1.24% MATIC 0.523 ▲ +3.11% AVAX 34.62 ▼ -0.55%
RPC钱包入门

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 节点是钱包读取区块链和送出交易的窗口。公共节点省事,会限流、会宕机,也能看到你在查哪些地址。连错网络时余额会像消失了一样,账仍在原来那条链上。节点可以谎报你看到的画面,不能在没有你签名的情况下转走资产。换节点只填网址,不把助记词交给任何人。

Related // 延伸阅读
测试网入门

测试网是什么?上面的币为什么换不成钱

测试网是和主网分开的练习账本,币多由水龙头发放,没有市场价格。讲清地址可以长得一样、资产却互不相通,以及领测试币时怎样避免把主网的钱转出去。

确认数区块链

交易确认数是什么?多少个确认才算真的到账

区块浏览器上的确认数,还不等于这笔交易永远改不了。讲清比特币靠后续区块抬高改账成本,以太坊大约两个纪元后才最终确定,以及交易所入账用的是另一套标准。

TVLDeFi

TVL 是什么?锁仓量为什么不能直接当成安全

TVL 是协议合约里的资产按美元计价的合计。讲清它和市值、交易量不是一回事,以及价格涨跌、同一笔资产被记多次、激励挖矿怎样把这个数字抬高或压低。