访问权限
如何获得 Apex 的访问权限?
如何获得 Apex 的访问权限?
Apex 目前处于测试阶段,仅限受邀用户使用。您的账户启用后,请在 OrbitFlare 控制台的 Dashboard > Apex 下创建 API 密钥。如需申请邀请,请通过 Discord 联系团队。
Apex 端点是完整的 Solana RPC 吗?
Apex 端点是完整的 Solana RPC 吗?
不是。Apex 端点只接受发送类请求:
sendTransaction、sendBundle 和普通 HTTP 发送路由,另外还有 getTipAccounts、getInflightBundleStatuses、getVersion 和 health。获取 blockhash、读取账户、模拟和确认,请继续使用您常规的 OrbitFlare RPC。Apex 支持 devnet 或 testnet 吗?
Apex 支持 devnet 或 testnet 吗?
Apex 服务于 Solana 主网。
我应该使用哪个 Apex 端点?
我应该使用哪个 Apex 端点?
从您的发送方出发往返时间最短的那个。请使用
GET /ping 测量。每个 Apex 端点都会自行路由到即将出块的领导者,因此您的选择只影响您自己的这一跳。参见端点与区域。小费与费用
Apex 如何收费?
Apex 如何收费?
您在每笔交易内部支付小费,并且只在该交易上链时支付。标准等级的下限为 0.001 SOL(1,000,000 lamports)。被拒绝、已过期或被丢弃的交易不产生任何费用。
我还需要另外添加 Jito 小费吗?
我还需要另外添加 Jito 小费吗?
不需要。一笔 Apex 小费覆盖全部三条路径。当 Jito 路径胜出时,Apex 会在与您的交易相同的捆绑包中,将您的小费减去 5,000 lamports 基础费用后的金额作为出价支付给 Jito。
我还需要优先费吗?
我还需要优先费吗?
需要。Apex 把您的交易送达领导者,而领导者仍然按优先费排序。请在每笔交易上设置计算单元上限和价格。参见小费。
为什么我的交易明明带了小费,却因 no tip 被拒绝?
为什么我的交易明明带了小费,却因 no tip 被拒绝?
小费必须是一条顶层的 SystemProgram 转账,转给
getTipAccounts 返回的账户之一。由您的程序通过 CPI 进行的转账不算数,转给任何其他地址的转账也不算数。还请检查小费账户是否位于静态账户密钥中,而不是通过地址查找表加载,以及出资方是否签名。参见小费错误。小费账户会变化吗?
小费账户会变化吗?
请在启动时通过
getTipAccounts 获取它们,并不时刷新,而不要硬编码。每笔交易随机选择一个。如果我的交易上链但执行失败,小费会怎样?
如果我的交易上链但执行失败,小费会怎样?
执行期间失败的交易会整体回滚,包括小费转账。您只需支付网络费用。
发送
我应该使用哪种传输方式?
我应该使用哪种传输方式?
我收到了签名。我的交易上链了吗?
我收到了签名。我的交易上链了吗?
不一定。签名表示 Apex 端点已接受交易并正在竞速发送。请在 Solana RPC 上使用
getSignatureStatuses 确认。参见确认每一次发送。Apex 会模拟我的交易吗?
Apex 会模拟我的交易吗?
不会。在您和领导者之间,没有任何环节会进行模拟或预检。如果您需要模拟,请先在您的常规 RPC 上调用
simulateTransaction。Apex 会持续重试多久?
Apex 会持续重试多久?
直到交易上链或其 blockhash 过期。之后,请使用新的 blockhash 重新构建,并发送新交易。
我可以同时通过 Apex 和其他发送服务发送同一笔交易吗?
我可以同时通过 Apex 和其他发送服务发送同一笔交易吗?
可以。网络对同一个签名只执行一次,因此通过多个服务竞速发送同一笔已签名交易是安全的。无论由哪个服务送达,只有交易上链时才会支付您的 Apex 小费。
我可以从浏览器调用 Apex 吗?
我可以从浏览器调用 Apex 吗?
每个 HTTP 响应都启用了 CORS,因此浏览器代码可以直接调用这些路由。请注意,随公开页面下发的密钥对访问者是可见的,并且 Apex 端点通过明文 HTTP 提供服务,因此通过 HTTPS 加载的页面会受到混合内容规则的约束。参见身份验证。
我的 API 密钥会经过网络传输吗?
我的 API 密钥会经过网络传输吗?
通过 HTTP 时会,以
x-api-key 请求头或 api-key 查询参数的形式传输。通过 QUIC 时不会:客户端出示由密钥派生的证书,密钥本身永远不会离开您的机器。无论哪种方式,密钥都无法动用资金,因为每笔交易都由您自己的密钥对签名。捆绑包与交易 v1
什么时候应该使用捆绑包而不是普通发送?
什么时候应该使用捆绑包而不是普通发送?
仅当您需要多笔交易按顺序执行,且要么全部成功、要么全部不执行时。捆绑包只走 Jito 区块引擎路径,因此只能在启用了 Jito 的领导者上链。单笔交易以普通发送方式上链更快,因为它会使用全部三条路径。参见捆绑包。
一个捆绑包需要多少笔小费?
一个捆绑包需要多少笔小费?
捆绑包中恰好一笔交易携带 Apex 小费,且不低于您所在等级的下限。
我可以发送大于 1232 字节的交易吗?
我可以发送大于 1232 字节的交易吗?
可以,使用交易 v1 (SIMD-0385),在
sendTransaction、/send、/send-bin、/send-batch 和 QUIC 上最大可达 4096 字节。Legacy 和 v0 交易仍为 1232 字节,捆绑包成员也是如此。限制与支持
速率限制是多少?
速率限制是多少?
速率限制按 API 密钥计算,并由密钥的等级决定。超出限制会返回 JSON-RPC
-32029、HTTP 429 或 QUIC 准入码 2。参见错误与速率限制。有适用于我所用语言的客户端吗?
有适用于我所用语言的客户端吗?
官方客户端是 Rust crate
apex-sender-client。其他任何语言都可以在完全不依赖库的情况下使用 JSON-RPC 和普通 HTTP 路由,并且 QUIC 协议已有文档说明,供任何想要自行实现的人参考。参见在其他语言中使用 QUIC。在哪里可以获得帮助?
在哪里可以获得帮助?
通过 Discord、Telegram 联系团队,或发送电子邮件至 support@orbitflare.com。