刚开始在 Solana 上做开发,看到"RPC"这个词出现在到处,但搞不清它到底是什么——这篇就是给你的。我们把 Solana RPC 节点是什么、跟 validator 有什么分工、private RPC 是什么、服务商到底在帮你做什么、怎么按你的负载挑一家这几件事讲清楚。
读完之后,你应该能带着判断力看服务商营销页,选对工具,不被话术带跑。
RPC server 是什么
RPC 全称 Remote Procedure Call(远程过程调用)。在区块链场景下,RPC server 就是你的应用跟网络对话的那一层 API——读链上数据、提交交易、查状态、监听事件,全在这里做。
你的代码不是直接跟"Solana"对话的,而是跟一个具体的节点对话。这个节点要么是 validator(参与共识),要么挂在 validator 下游(只做 RPC,不投票)。不管哪种,你调用的都是同一套 RPC 接口。
举个例子:
const connection = new Connection("https://api.mainnet-beta.solana.com");
const balance = await connection.getBalance(publicKey);
https://api.mainnet-beta.solana.com 就是 RPC server,getBalance 是 RPC 方法。server 收到请求,查它本地的链状态副本,把结果返回给你。
sendTransaction 走的也是同样的流程——你把签好的交易交给 RPC,RPC 负责把它送到下一个出块的 validator。
已经知道 RPC 是什么、只需要一个发送端点?这里免费领,改一行就能换。剩下的内容讲的是你到底在几个选项之间选什么。
Solana RPC vs validator
这两个概念很多人混着用,但不是一回事:
- validator 参与共识。它出块、投票,按 stake 加权,要承担经济责任。
- Solana RPC 节点 跟 validator 跑同一份链客户端代码,但配置成处理 API 流量,不参与投票。它镜像链状态,负责提交交易和回答查询。
实际生态里,你看到的"Solana RPC 服务商"运营的是专门做 API 的集群——通过 SWQoS 这套机制把交易快速送到当前出块的 validator。你在服务商注册,拿到的是一个发请求的入口;链本身还是那张 validator 网络。
"Private RPC"到底是什么
"private RPC"这个词在不同语境下意思不一样,先把几种用法分清楚:
-
专用 private RPC——你独享一个 RPC 实例,不跟别的客户共享。没有吵闹邻居问题,延迟可预测。一些服务商作为高级档位卖。
-
私有路由——BoltTx 这类服务商在做的事。底层基础设施可以共享,但你提交的交易不会经过机器人扫描的公开通道。隐私在路由层,不在硬件层。
-
自托管 RPC——你自己跑节点。完全隐私,但运维责任也完全是你的(为什么大多数团队都不该走这条路,看企业那篇)。
对交易类负载,你大概率想要的是第 2 种私有路由——它直接挡掉三明治被夹。对延迟敏感的企业负载,专用 private 实例可能也合理。
Solana RPC 服务商到底做什么
一家有水准的 RPC 服务商不只是"让你能调方法"。整套技术栈大致是这样:
- 运营自己的 RPC 集群,部署在网络上对延迟有利的位置
- 健康检查 + 负载均衡横跨整个集群
- 过滤滥用流量,不让一个坏客户拖垮整个池子
- 智能交易提交——走 SWQoS 路径优先上链、设合适的 tip、按合适的条件重试
- 镜像链状态,读请求不用每次都打到链上
- 提供可观测性,让你能看到自己流量的状况
服务商之间的差距,就在这每一项做得多好。两家都给你一个 HTTPS 端点,但 P95 延迟画像可能天差地别。一家可能借公开通道把你的交易暴露给 MEV 机器人;另一家默认走私有路由。端点 URL 看着一样,行为差很远。
区块链 RPC 服务商:Solana 的特殊性
通用的"区块链 RPC 服务商"主要分三类:以太坊起家、后来补上 Solana 的;Solana 原生的(BoltTx 属于这一类);以及同时覆盖多条链的平台。
Solana 这边玩法跟其他链不太一样:
- 没有公开 mempool。交易直接发给下一个排定的 validator。所以"私有 mempool"不是合适的框架——重点是经过 RPC 这一层的路径,会不会在交易上链前把它泄出去。
- 专属 SWQoS(权益加权服务质量)。Validator 优先处理走 SWQoS 路径的 RPC 节点的交易。不支持 SWQoS 的服务商,在拥堵期会落后得很明显。
- MEV 在 validator 这一侧,不在 mempool 这一侧。重要的保护跟以太坊不一样。
- 亚秒级确认在 Solana 上是可达的,这改变了"够快"作为基线的意义。
一家在以太坊上做得好的多链服务商,不一定在 Solana 上也能做好。以太坊上赢的优化,不全部能搬过来。
怎么挑 RPC 服务商
按你做的事走:
在发交易(交易、DEX、mint、机器人、AI agent)
你需要:
- 文档化的亚秒级确认表现
- 专属 SWQoS + 优先级连接
- 原生 Anti-MEV(路由层挡三明治被夹)
- 每笔签名级别的遥测,方便 debug 投递问题
- 按上链交易(不是尝试)收费的定价模型
这是 BoltTx 的主战场。试免费档做 benchmark。
在做索引或数据分析
你需要:
- 解析过的交易 API(不用自己解原始 JSON)
- 流式订阅
- Webhook
- NFT 元数据(如果相关)
- 慷慨的读定价
通用服务商在这一块做得好,广泛的 API 范围对读重型负载很有用。
通用全栈团队,还没专精化
你需要:
- 一个扎实的全方位平台
- 读写定价都合理
- 文档好读
- 之后专精化时迁移路径清晰
通用服务商基本都合适。按团队熟悉度和定价挑。
企业级团队、要求严格
你需要:
- 文档化的 SLA
- 每客户隔离
- 秒级延迟遥测
- 真人客户经理
完整清单看企业指南。
几种常见的 Solana RPC 误解
经常碰到这几种说法,都不太对:
"公共 RPC 用在生产没问题。" 有限流、没 SLA、经常落后。开发可以,生产绝对不行。
"所有 RPC 服务商延迟都一样。" P50 在不同服务商间可能差不多。P95 和拥堵期间的长尾,才是真正区分高下的地方。永远要 benchmark。
"认真的负载就得自己跑节点。" 通常正相反。自托管 Solana validator/RPC 运维成本很高,大多数尝试的团队一年内会撤回。架构对的托管服务商,在大多数用例上都比自托管好。
"RPC 服务商之间可以互换。" 读流量是这样的,大体上可以。发送不是——三明治被夹敞口、拥堵期的上链率、费用画像,差别都很大。
"刚起步用最便宜的就行。" 让你的交易被夹的最便宜服务商,其实是悄悄最贵的。算交付价值,不要只看标价。
把 BoltTx 接进来用
想跳过服务商调研、用一个为发交易量身打造的:
import { Connection } from "@solana/web3.js";
const connection = new Connection(
"https://bolttx.io/?api-key=YOUR_API_KEY",
"processed"
);
免费档注册,交易上链才收费。如果你的负载读重型、需要解析 API,把 BoltTx 跟一家通用读服务商配对是常见组合。
常见问题
一句话讲清 Solana RPC server 是什么? 暴露 Solana JSON-RPC 接口的服务器,让你的应用读链状态、提交交易。
Solana RPC 跟 validator 是一回事吗? 不是。validator 参与共识,RPC 节点处理 API 流量。同一份软件,不同角色。
Solana 的 private RPC 是什么? 要么是只给你一个客户用的专用 RPC 实例,要么是不把你的交易暴露给公开通道的路由层。BoltTx 默认提供后者。
怎么挑 Solana RPC 服务商? 发交易优先看亚秒级确认、专属 SWQoS、Anti-MEV;读优先看解析 API 和定价;企业优先看 SLA、隔离、可观测性。
能同时用多个 RPC 服务商吗? 能,常见的组合是 BoltTx 发交易、通用服务商读 / 索引。两边集成点独立。
mainnet-beta RPC 跟 devnet 有什么区别? Mainnet-beta 是真 Solana,带真价值。Devnet 是独立的测试集群。别把没在 devnet 上测过的东西直接部到 mainnet。
既然有公共端点,为什么还要付费的 Solana RPC? 公共端点有限流,而且不是为生产环境的发送而造的。开发和一次性查询够用。但一旦你开始提交"时机跟钱挂钩"的交易,限流和共享的提交路径都会成为瓶颈。
Solana RPC 和 Solana 节点有什么区别? 节点参与网络、持有链状态。RPC 端点是你对话的接口。服务商跑节点并在前面暴露 RPC 端点;你也可以自己跑,但运维成本不低。
一个交易机器人每秒要发多少 RPC 请求? 随策略差异极大。轮询几个池子的机器人每秒可能上百次读;而狙击机器人平时空闲、然后突发。与其照着套餐描述猜,不如把自己包含峰值的一周真实数据测出来。
读和发能不能用同一个 Solana RPC? 可以,但大多数生产环境会拆开。读要吞吐和历史,发要一条到出块方、背后有质押的短路径。用一个端点同时优化这两件事,意味着两边都要妥协。
RPC 返回 429 是什么意思? 你超过了当前档位的限流。这是容量信号,不是交易本身的问题。如果日常运行时就出现、而不是只在峰值出现,说明你该换档了。
我的 Solana RPC 为什么慢? 把两种情况分开。读慢通常是共享容量或者地理距离。发送慢或失败通常在你的节点之后那一段 —— 而那一段,加多少读取容量都解决不了。
发交易一定要用 Solana RPC 吗? 要。你在本地签名,但总得有东西把签好的字节送往出块方,这就是端点做的事。你选哪个端点,决定了拥堵时这笔交易被接收的概率。
交易机器人最适合用哪个 Solana RPC? 对你所在区域来说,到出块方路径最短、且背后有足够质押的那个。对一个主要在发送的机器人来说,读取功能几乎不重要。拿你自己的流量在拥堵时段测,别信基准数字。
Solana RPC 大概多少钱? 计费模型不同。有的按 credit 或月度档位卖容量,有的按落块交易计费。哪个更划算,完全取决于你的负载是读为主还是发为主。
免费档的 Solana RPC 够生产用吗? 小应用的读取场景通常够。但对"上链与否直接影响收益"的交易机器人来说,瓶颈往往不是免费档的请求数,而是它底下那条提交路径。