工作原理
一次请求进来,每个通道一笔交易出去,只成交一次。下图跟随一次买入从你的机器人到区块,标注了我们阿姆斯特丹服务器上每一步的耗时。
各步耗时(毫秒)
| 步骤 | 做什么 | 耗时 |
|---|---|---|
| 1. 解锁 | 按 API key 哈希查找账户,用 API key 和盐派生钱包密钥,解密密钥对。 | ≈0.3 ms |
| 2. 构建 | 把 mint 路由到其启动平台,从 gRPC 实时缓存取池子状态和 blockhash,组装手续费和 swap 指令。无 RPC。 | ≈1 ms |
| 3. 余额读取 | 仅在卖出或重复买入同一 mint 时:一次 RPC 读取,与第 2 步同时开始、相互重叠。首次买入某 mint 跳过它,钱包不可能持有。 | 首次买入 0 ms,其他 ≈5 到 10 ms |
| 4. 签名 | 每个通道一份副本,内含该通道的小费账户,用钱包签名。 | 全部 ≈0.2 ms |
| 5. 扇出 | 所有副本在同一瞬间通过到各通道的持久连接发出。 | t ≈ 7 ms |
| 6. 确认 | 每个通道确认收到;全部回复或超时后返回响应。每通道的 ms 从第 1 步起算。 | ≈9 到 40 ms |
| 7. 落地 | 最快的路径把副本送到当前 leader,在该 leader 的区块内执行。其余副本在动用资金前就在链上失败。 | 本 slot 内,≤400 ms |
以上是典型值,不是保证:第 3、6 步取决于 RPC 和通道,第 7 步取决于 leader。实测一次首次买入从请求到签完为 2.7 ms。你到阿姆斯特丹的网络一跳另计。
为什么扇出而不是选最好的通道
每个通道到 leader 的路径逐 slot 变化:它们的质押、与那个验证者的对等连接、当时的负载。一秒前最快的,现在可能排第三。发给全部通道,狙击总是走那一刻存在的最快路径,慢的通道没有代价,它的副本只是输掉。
为什么只成交一次
每份副本都是签名不同的独立交易。第一份执行的成交。之后的每一份都在动用资金前就在链上失败,所以交易只发生一次,小费只付一次,付给落地副本所在的通道。输掉的副本只花掉优先费。你这边不需要任何协调。
响应里看到什么
submissions 列出每个通道的签名、是否接受和 ms。signature 是第一份被接受的副本,但任何被接受的副本都可能落地,确认时请看全部签名,或直接看钱包余额。完整格式见狙击页面。