easyfightbot 版本与通道总表

每一版带了什么、每一轮跑在哪一版、各类出块人上哪条通道最先入块、遇到的全部问题按重要性排。只写已核实的,初步的标"初步"。

更新:2026-10-22 22:50 台北(第十六轮 v1.0.38 段 22:44 已开) · 维护:主控 · 时间一律台北(UTC+8)· 每次发版 / 每轮结果 / 排名变动都更新到这里

一、问题清单(按重要性排:高 = 直接决定抢不抢得到第一和赚不赚钱;中 = 影响测试能不能正常跑;低 = 流程小坑)

#重要问题原因 / 做法状态
1高预确认只收到了三分之一(应该收到八成)原因:我们给 Helius 的订阅自己加了条件"只收欧洲四个区域的",Helius 规定设了这个条件就把别的区域(立陶宛、美国、亚洲的 BAM 节点)全丢掉;Triton 那条也只开了法兰克福。
做法:Helius 改成收全部区域(20:53 起),Triton 开法兰克福、阿姆斯特丹、伦敦三区(21:03 起)。之后 BAM 块收到 92%、Helius 自营 96%、Harmonic 55%。
已解决
2高预确认明明先到,程序却等碎片才动手,白丢 6~9 毫秒(约一成的币)原因:预确认只报建币那一笔,看不到发币人紧跟着的自买串;程序怕按串前的价下单撞滑点,就等碎片看到整串再发。
做法:发币人从没带过串、或串已经到齐的 → 预确认一到就发;发币人带串但串还没到 → 用他历史上每次串的中位数算出串后价,直接按这个价发(串预测)。都默认开。
v1.0.38 已发版,上线中
3高单子发出去之后到出块人手里那 18~20 毫秒,不知道哪条通道最快原因:出块人那边不给"收到时刻",没法直接量。
做法:用通道探测(同一笔小额单多路同时发,谁先上链谁赢)按出块人类型排名:BAM 是 helius、Harmonic 是 astralane、JitoLabs 是 node1、Firedancer 是 erpcq;从不赢的 nozomi、jitotx、heliusrpc 删掉,每类留 6 路按赢率排。停轮窗口再补一轮探测出第二版。
进行中
4高BAM 和 Harmonic 的块是同一批次里比费用,早到不等于排前原因:这两类出块人默认把一批里的单按费用从高到低排,我们出价低就排后面;而且 BAM 块的实际费用是我们预测的 2.5~3.3 倍。
做法:D 第一版(1,165 笔真单,初步):BAM 块里我们在批内排第 1 只有 40%,输掉的单里 22% 是"同批第 1 名出价比我们高"——加价能救;同批第 1 名出价中位约 0.033 SOL,我们 0.011。Harmonic 只有 3% 能靠加价救(输在到得晚),JitoLabs 按到达先后排——这两类不加价。更正后定:BAM 每笔总出价 0.015 SOL 就能把"可救的那 22%"全部救回(加到 0.033 只多 8 个点、每笔多花一倍),不碰每笔 0.02 的出价上限;每笔多花约 0.005,换算 1 SOL 估计净多约 +0.05(上限)。进 v1.0.39,满 30 笔不变好就退回。
第一版已出,v1.0.39
5高鹰眼打分挡在发单前面,每笔多等约 2 毫秒(最慢 4.7)原因:打分在另一个进程里跑,来回传一次就要 1 毫秒;模型用 Python 逐棵树算,910 棵树要 1.2 毫秒;发币人的历史特征建币时才现查。
做法:急件优先(把关要的分插队算)+ 模型编译成机器码(分数一模一样、快 12 倍)进 v1.0.38,已上线,实测把关等分从约 2 ms 降到中位 0.74 ms;发币人特征缓存(取特征 0.33 → 0.18 ms)+ 超时按老规则放行,进 v1.0.39。
v1.0.38 已上线;剩余进 v1.0.39
6高买单失败占发单的四到六成原因:D 逐笔查链上,失败全是被人抢先、价格超过滑点,没有一笔是我们程序的错。
做法:这是速度问题,靠 1~5 条解决,不单独修。
随速度改善验证
7高剩下 18% 没有预确认的块,我们只比别人早 2 毫秒原因:这些出块人(没接 BAM 的 Jito 节点、Firedancer)谁都不提供预确认,只能靠碎片;我们现在的碎片源不是市面最早的。
做法:候选是 Triton 碎片流按量档(每 15 分钟 0.59 美元),你定了等第十六轮结果再说。
等第十六轮结果
8高串预测没设"发币人把价推到几倍就不追"的上限原因:新路径按预测的串后价直接买,三成的币预测推价超过 1.25 倍,最高 5.6 倍;老路径超过 1.25 倍就不追。
做法:今晚仓位 0.01 先不设,轮后按 1.25 倍分两段看每笔净利,超的那段亏就加上限。
轮后定
9中"绕过老规则"的开关有漏洞,可能放进不该买的币原因:Codex 第二审挑出三处绕过开关会把安全底线一起绕掉。
做法:v1.0.36 修掉,只绕过选币项、安全底线照旧;v1.0.37 补了快照过期的判断。
已解决
10中同一个币可能下两次单原因:三路触发(碎片、预处理流、预确认)同一个币各到一次,以前没去重。
做法:v1.0.35 按币去重,谁先到谁触发,后到的只记录。
已解决
11中看门狗把一笔正常买入当成异常,自动停了轮(21:13)原因:这轮按设计绕过了老规则、只靠鹰眼选币,但看门狗里"允许买哪几类币"的清单是写死的,没跟着改,买到老规则外的币就判异常。
做法:改看门狗:开了绕过开关的轮,鹰眼放行的币都算正常。当晚换上,随 v1.0.38 正式进版。
已解决
12中第十六轮开了 50 分钟一个币都没买(65 个全被鹰眼拦)原因:不是把关坏,是那段时间币质量低,全网建币过线的比例从 2% 掉到 0.5%,而且绕过老规则后鹰眼要看全部币,通过率本来就只有几个百分点。
做法:测试轮把鹰眼放宽到前 2000 名多攒样本(真钱轮不这么放)。
已解决(测试轮)
13中Telegram 报"预确认积分用到上限 80%",差点自动关掉开放订阅原因:转发器按 Helius 文档"每条 10 积分"自己估的数,实际后台账单 6 万条才扣 1 积分,估的数和真花的对不上。
做法:估算的上限不再当闸、只记日志;只按后台实际账单每小时查;总用量到套餐 90%(900 万)才退回名单模式,给狙击程序自己留 100 万。
已解决
14中Harmonic 的块用 UDP 直发整组亏,Rakurai 通道从不赢做法:Harmonic 的块只认 Triton 预确认触发;Rakurai 从草稿删掉。已定
15中Helius 账单里 LaserStream 一项用了 45 万积分,不知道是谁在用原因:还没查清,现在每小时约 190。
做法:待查。
未解决
16中发版测速闸一轮快一轮慢,分不清 5% 以内的退步原因:闸每次跑两轮取平均,单轮能差 ±10%,机器忙时更乱。
做法:每次存原始输出;v1.0.37 比 v1.0.36 两遍平均慢 3.9%,B 空闲时二分找是哪笔;v1.0.38 比 v1.0.37 快 10%。
待二分
17低v1.0.37 发版被一条测试拦了两次原因:那条测试把我发版时带的"已人工确认"开关原样传给了它要检查的脚本,把本该拦下的一步当成已确认,于是断言失败;单独跑是过的。
做法:测试里去掉继承外层开关,只改测试,发版判定本身没动。
已解决
18低重开轮时被"开轮前体检"拦下,说装了不该装的配置原因:E 当晚改了三次转发器配置,但服务器上仓库里的同名文件没同步,体检要求两边一字不差。
做法:当晚把实际装着的配置写回仓库;v1.0.38 起这些配置随版本进仓库,服务器上不再有手改文件。
已解决
19低通道探测里 tpu 直连报错 81 次原因:探测程序把单发到了 tpu 预连接窗口之外的区块(提前 1~8 个),不是连不上出块人;真单里带 tpu 的 12 笔一次都没报错。
做法:tpu 保留;探测程序改成只发窗口内的区块(G,v1.0.39)。
v1.0.39
20低发版过程中有人往主开发分支推了新提交原因:B 做完一件活顺手推了,没等发版结束。
做法:这次发版取的是推之前的版本,没受影响;B 的推送脚本加了锁,发版期间分支冻结、只许 F 登记。
已解决
21低A 和 B 各写了一份"模型编译成机器码"原因:派活时两人同时做了同一件事。
做法:F 比过,B 那份分数逐位一致,只接 B 的;A 的留档不接线。
已解决
22低踩坑台账两个人用了同一个编号原因:E 和 B 同时记坑,都领了 D321。
做法:E 的改成 D327;发版预检本来就会查撞号。
已解决
23低主控报时间错了三次、消息里写过占位的提交号做法:发消息前先看一眼系统时间;提交号等 git 输出后再写。已改流程
24高Harmonic 的块预确认只收到 55%(问题 1 的后半段)原因:不是断流、也不是订阅漏了建币写法,是有 29 个跑 Harmonic 的出块人,我们开的三个区从来没推过它们的预确认(占全部 Harmonic 建币 32%);要么它们绑了美国 / 亚洲区的构建者,要么根本没连构建者。
做法:23:02 起 Triton 7 个区全开 15 分钟(≤0.6 美元,轮不停),看这 29 个出块人在哪个区冒出来:冒出来的区常开(覆盖最多到约 86%),一个都没有就判定它们没有预确认、撤掉不花钱。
验证中
25高我们比头部快了,前面却还有 1 个外部买家原因:v1.0.38 前两笔落地单 15.1 ms、19.0 ms 都比头部快,但都排在 1 个外部买家后面;BAM 块是同批次比出价,JitoLabs 块是谁先到谁先,原因待查。
做法:D 查那个人是谁、早多少、出价多少;BAM 加价 0.015 在 v1.0.39。
D 在查
26中串预测触发的第一笔买单失败原因:待查——可能是预测的串后价偏了撞滑点,也可能是被抢先。
做法:D 用链上数据查;和问题 8(推价上限)一起,轮后按 1.25 倍分两段看。
D 在查
27低没有预确认的块上,预处理流那条路还在等串原因:今晚"不等串 / 串预测"只改了预确认那条路;预处理流先到时,发币人带串的仍让给碎片。
做法:只差约 1.3 ms,空闲时统一改成和预确认同一套规则。
空闲时修

进展日志(最新在上,每条标问题编号)

时间(台北)问题发生了什么
23:10问题 1 续 Harmonic 只收到 55%原因:29 个 Harmonic 出块人三个区从没推过预确认(按出块人整块缺),要么绑了美亚区构建者、要么没连构建者;正在 7 区全开 15 分钟验证(≤0.6 美元)
23:05问题 2、3、4v1.0.38 前 3 笔真单:建币 → 执行 15.1 ms(BAM,预确认触发)、19.0 ms(JitoLabs)都比头部 22~29 ms 快,块里第 41、46 笔,但前面都还有 1 个外部买家;第 3 笔串预测触发买单失败,D 在查原因
22:51问题 2 预确认先到却等碎片v1.0.38 第一笔预确认触发的真单(NUT,BAM 块):建币 → 执行 15.1 ms(以前碎片触发 38~46 ms),块里第 41 笔;前面有 1 个外部买单,币跌,0.01 仓位净 −0.018
23:00问题 5 鹰眼打分挡发单发币人特征缓存写好(A),7,000 个币逐位一致,取特征 0.33 → 0.18 ms,交审,进 v1.0.39
22:58问题 4 同批次比费用报价更正:BAM 每笔总出价 0.015 SOL(不是 0.033),不碰每笔 0.02 的上限,进 v1.0.39
22:55问题 3 哪条通道最快通道排名第二版(783 次):带小费 BAM helius 90%、Harmonic astralane 91%、JitoLabs node1 48%;探测程序修好、补三路,进 v1.0.39
22:44问题 2、5第十六轮 v1.0.38 段开轮:不等串 + 串预测生效(种子表 13 万);机器码推理生效,把关等分 ~2 → 0.74 ms
22:17问题 2、3、5、11v1.0.38 发版(不等串、串预测、急件优先、机器码推理、通道删 3 路、看门狗修正)
22:25问题 1验证:去掉区域过滤后 BAM 块预确认覆盖 37% → 92%,Harmonic 37% → 55%
21:19问题 11看门狗误停:热修上线,重开
20:53问题 1根因找到并修:订阅里自设的区域过滤去掉;21:03 Triton 开三区

钱的底线(D 初步,12 笔真单,F 登"通过(初步)"):按现在速度 1 SOL 仍亏(老规则 −1.9/天、鹰眼前 500 −1.6/天),速度配齐上限 +16.4 / +6.4;失败全是被抢先、0 笔程序错误。

二、速度对比:我们现在 vs 头部 vs 目标

尺子:建币 → 我们的买单被执行(同一路碎片里看到建币那一刻,到看到我们买单上链那一刻,毫秒,中位)。越小越靠前;按历史数据每慢 1 ms 大约往后排 1.3 笔。

谁建币 → 执行(中位)在块里排第几(不含投票)进建币那个块的比例来源 / 说明
头部最快(dKMjeG)23.5 ms——Alpenglow 网络升级后实测
头部职业号(4yFA、9qz7 等一批)22.5 ms(升级前)/ 28.9 ms(升级后)第 53 笔—挡我们的那批号,不是内部人,是真的快
我们:以前(10-17~10-21,碎片触发)34~40 ms第 71~76 笔约 65%比头部慢 11~17 ms,落后约 20 笔
我们:今晚碎片 / 预处理流触发38.3 / 44.8 / 45.8 ms两笔外部第一、一笔第二第十五轮 5/8 同块只有 3 笔落地样本,初步
我们:预确认触发(v1.0.38 起大部分走这条)预计 27~30 ms——预确认比碎片早 7~11 ms、把关提速再省约 1.5 ms 推算;重开后用真单量
目标(达标线)≤ 25 ms≤ 第 53 笔≥ 85%追平头部职业号;对标 4yFA(30 天平均每天净赚 +34 SOL)

我们这 40 ms 花在哪(第十五轮拆分,初步)

段时间能怎么省状态
① 出块人出块 → 我们看到建币13~16 ms换预确认(早 7~11 ms);覆盖从 37% 提到 BAM 92%、Harmonic 55%已做
①′ 预确认先到却等打包串6~9 ms(约一成的币)直接发 + 串预测v1.0.38 上线中
② 看到 → 程序收到0.2 ms已经很小不用动
②′ 鹰眼打分挡在发单前1.7~2.0 ms(最慢 4.7)机器码推理 → 约 0.3~0.4 ms;特征缓存 → 最慢 <1 msv1.0.38 + v1.0.39
③ 写出 → 中继回执写出 2.8 + 回执 3.9 ms删掉从不赢的通道,每删一路写出快 0.3~0.4 msr16g 删了 3 路
④ 写出 → 上链约 33.5 ms换赢率最高的通道排第一(BAM helius、Harmonic astralane、JitoLabs node1、Firedancer erpcq);同批次比费用要靠出价通道已改;出价 D 今晚第一版

差距结论:和头部比慢的 11~17 ms 主要在①"看得早",今晚的预确认修复把这一段补上了大半;④是剩下最大的一块,出块人那边不给收到时刻,只能靠通道排名和出价去压。重开后用真单验证"预确认触发是不是真的到了 30 ms 以内"。

三、版本总表(每版带了什么)

版本主线提交发版默认就会变的行为默认关 / 开关用在哪一轮
v1.0.34—10-22 中午前 第十五轮基线:老规则 R1–R4 选币 + 鹰眼 v0.2c-H/L 把关(前 1000 名线);触发 race(UDP 碎片 / 预处理流 / Helius 预确认);多路并发发单 —第十五轮 14:49–17:50
v1.0.356bc779b10-22 下午 同币去重(1a7f899 + 1abceb9);连接预热(warming);6 列快照 snapshot_asof(6d256354);dune_client 读回限额 --hawk-gate-bypass(dev / dev_score / prev / host / hour)默认关未开轮(被 v1.0.36 覆盖)
v1.0.3674a5c2810-22 18:00 前 Codex 二审修 bypass 漏洞 ①②③⑥⑦⑨(e3851c3) 同上续轮 18:18–20:10
v1.0.37726d3fb10-22 20:07 开机补停机空窗(f88131e);快照水位(df6d48d);seq_lost 补块(769c2d0);到达字段 arrivals(a0be23c);Harmonic 块只认 Triton 预确认触发(58e57d3);预确认两条订阅 + 逐小时交替(06df497 / 9edfb62);Admin API 封顶 / 阈值(5f42e93 / 2bb3976);测试隔离修复(04449ca) --harmonic-triggers triton、--pp-all-creates;A|B 期望(430681a) 第十六轮 20:15–21:05(0 真单);r16b 21:08–21:13(看门狗误停);r16b 21:19 起
热修 21:19 单文件换 round_watch.py(34f9fd5)
v1.0.3824d07c610-22 22:17 串预测 --preconf-chain-pred 默认开(4600dc3 / e3ead62:发币人带串、串未到 → 按历史串推价中位数当场按预确认发;≥2 带串历史、离散 ≤1.15);预确认先到不等串 --preconf-last-no-chain fire(fa8d6b7 + chain_cap 621d941);看门狗放行规则外的币(34f9fd5 + 倍数按 1 d6b0639);把关急件优先(52fe401);鹰眼推理编译成机器码(hawk_native 166199c,部署时现编、开机自检,不过退回纯 Python);判定链共用模块 snipe/decide_chain.py(2a65838 / 9fc912c / 7aa3c8d);开机补空窗限 3,000 次(04da51f);今晚转发配置进仓库(全区域、只开放、Triton 三区、账单只报警) --preconf-last-no-chain 默认 defer(草稿写 fire);1 ms 超时保底、特征缓存留 v1.0.39 第十六轮 r16g(重开后)
v1.0.39计划10-23 上午 把关特征缓存(发币人 22 列预算)、1 ms 超时只放老规则内的币(c2d9e35 已审)、route_probe 加 heliusq / landx / flashblock 并限窗口内、--open-used-cap 900 万代码化、串预测推价上限(按今晚数据定) —明天的轮

四、今晚各段轮次(10-22)

段版本时间(台北)把关预确认配置真单 / 净值备注
第十五轮v1.0.3414:49–17:50老规则 + 鹰眼前 1000名单模式,四区过滤8 笔 / −0.086同块落地 5/8
续轮v1.0.3618:18–20:10同上同上4 笔 / −0.0383 笔买单失败(被抢先)
第十六轮v1.0.3720:15–21:05跳过 dev / dev_score,鹰眼前 1000开放 / 名单逐小时交替;20:53 起全区域;21:03 起 Triton 三区0 笔65 个建币全被把关拦(行情低)
r16bv1.0.3721:08–21:13鹰眼前 2000名单小时3 笔 / −0.025看门狗把 R3b 币当异常买入停轮(配置冲突)
r16b 重开v1.0.37 + 热修21:19–22:18鹰眼前 2000只开放、全区域、Triton 三区8 笔 / −0.0902 笔抢到第一(k=0)但币跌;对账差 0.000002
r16gv1.0.3822:44 起鹰眼前 2000同上跑着不等串 + 串预测(种子表 130,663 个发币人)+ 通道删减排序 + 机器码推理(已核生效);把关等分中位 0.74 ms(以前 1.7~2);本轮亏损上限程序收紧到 0.4554

仓位均 0.01 SOL;上限:40 笔 / 本轮亏 0.47 / 日止损 0.8 / 小时闸 0.15 / 480 分钟。

五、数据源:看得到哪一块、早多少

出块人类型占全网质押最早信号比自己收碎片早(中位)覆盖率(建币里收到的比例)费用
BAM(Jito)37.6%BAM 预确认(Helius 和 Triton 同一份)+10.8 ms(四区过滤时)/ +6.8 ms(全区域后,含远区)四区过滤时 37%(订到的区 82%、没订的区 0%)→ 全区域后 92%(701/763,初步);BAM 块里第一个到的 81% 是预确认Helius 实际 0(至今 2 积分)
Helius 自营≈14%Helius 预确认同上91% → 96%同上
Harmonic29.8%Triton 预确认+9.8~11.1 ms只 fra 时 37%(德国 68%,荷兰 / 英国 0%)→ 三区后 55%(初步)约 $3.4/区/小时,三区实测约 $4.3/小时;今晚封顶 $50
其余(非 BAM Jito、Firedancer、Agave)≈18%Helius 预处理流+1.9 ms全覆盖(无预确认产品:Rakurai 1.2%、Astralane 未公布,已否决)0.1 积分/条

官方来源:Helius getPreConfCoverage 51.86%(Helius 自营 + BAM);bam.dev/explorer 37.56%;harmonic.gg 29%(链上按客户端 29.8%)。预确认比预处理流早 9.1 ms。按区域领先 UDP(中位):fra 9.8 / ams 7.3 / sqq 6.5 / lon 4.3 / dub 3.1 ms;Triton DE 10.4 / NL 8.4 / GB 8.8。美西的预确认反而比碎片晚,美东亚洲早但我们不在那下单。Helius Gatekeeper:我们的预确认 / 预处理流订阅本来就连 beta 端点,无需切换。

六、入块通道排名(先上链比例,第一版,初步)

来源:常驻 route_probe 10-22 01:04–21:19 共 742 笔(同一笔小额自转账同序号多路并发,先执行的那份落地,其余作废不收费)。带小费轮 9 路都在,免小费轮只有 5 路。样本小(带小费 18~28 次),窗口密集探测后出第二版。

出块人类型带小费轮(9 路)免小费轮(5 路)r16g 顺序(各 6 路)
BAMhelius 83%(15/18)· erpcq 11% · node1 6% · 其余 0erpcq 39% · jitotx 23% · heliusrpc 20% · tritontx 16% · tpu 2%(179)helius → erpcq → node1 → astralane → tritontx → tpu
Harmonicastralane 89%(25/28)· helius / erpcq / node1 各 1 · nozomi 0(报错 8)erpcq 92%(219/239)· tritontx 5% · tpu 2%astralane → erpcq → helius → node1 → tritontx → tpu
JitoLabsnode1 46%(11/24)· helius 29% · astralane 17% · erpcq 8% · nozomi 0(报错 8)erpcq 48% · tritontx 21% · tpu 21% · heliusrpc 8% · jitotx 3%(185)node1 → helius → astralane → erpcq → tritontx → tpu
Firedancer无样本erpcq 85%(39/46)· tritontx 11% · tpu 4%erpcq → tritontx → node1 → helius → astralane → tpu
Agave / other样本 <15,只看方向:tpu 73~80%(这类块只记影子不下单)—

已删(r16g 起)

  • nozomi:带小费三类块 0 次先到,报错 20 次(真单赢过 1 次,先按数据删)
  • jitotx:除 BAM 免小费 23%,其余 ≤3%
  • heliusrpc:带小费轮从不先到,真单也没赢过
  • landx / flashblock:不在六路名单,今晚未探测,明天加进探测再定

保留但待证

  • tpu 直连:探测报错 81 次是探测自己发到窗口外,真单无此错 → 留
  • tritontx(Triton Jet):探测里不赢;续轮真单赢 3 笔 → 留
  • heliusq(Sender SWQoS):JitoLabs 对照组保留,未探测