这次 Sprout 项目完成了七钱包交易执行的主要工程搭建,却没有完成原定投资目标:七个钱包各花费 13 INJ,买入的是平台明确标记为非官方的同名币;后续独立清仓净回收 65.989750864890398344 INJ。按项目历史余额对账口径,计入买入、授权与卖出 gas 后,本轮损失为 25.255249135109601656 INJ。
最有用的经验有两条:官方身份必须成为资金广播的前置条件;开盘速度应先优化已证明的串行等待,再优化节点和签名。以下按八个方面复盘。金额以 INJ 计,时间统一为北京时间。调查没有加载私钥,没有签名、广播交易,也没有改变正式脚本或服务的交易策略。
本文把“已确认事实”“基于事实的推断”“建议和未验证项”分开。2026-10-03 16:02 的只读复核重新核对了七笔买入、七笔清仓、官方样本首个可交易区块的二十笔买入,以及大额买家的三十八笔退出回执。其他参与者的完整资金审计、软件、消息渠道和控制关系仍有证据缺口。
1. 最初目标与实际结果
原定目标是七个父钱包批量参与目标开盘,每钱包 13 INJ,共 91 INJ,买入交易手续费包含在预算内,gas 单独预留。无护窗、护窗结束或剩余额度足够时直接买;额度不足时使用父钱包提供资金与 gas 的 EIP-7702 子钱包批次,代币归集到对应父钱包。
全部买入及在途交易状态确定后,以七钱包中最高实际含费均价乘以三,冻结共同触发价。达到条件时,按真实净报价、手续费和价格冲击求各钱包回收本金的最小卖量,并发卖出,保留剩余代币。
| 验收维度 | 已有结果 | 判断 |
|---|---|---|
| 七钱包与预算 | 七钱包同块成交,各支出 13 INJ,共 91 INJ | 本轮执行达成 |
| 正确目标 | 买入 launch 10124,平台记录为非官方;官方样本是另一个地址 | 核心目标失败 |
| 买入速度 | 创建块 185607758,成交块 185607770,即 N+12 | 同币已有 N+2、N+3 买家 |
| 3 倍自动出本并留币 | 共同触发价已冻结;本轮最终通过独立清仓退出 | 本轮没有完成该目标 |
| EIP-7702 护窗路径 | 合约已部署并有离线、只读执行证据;本轮无护窗,未使用子钱包 | 未完成完整 Type 4 实盘验收 |
| 资金结果 | 全部代币售出,净回收约 65.989751 INJ | 已实现亏损 |
本轮实际买入的代币是 0x970B102732a2f655c786Ba11d517C7e44A663eF0,名称 Sprout Official、符号 SPROUT。名称和官方链接由创建者填写,不能证明身份。平台 launch 10124 接口在保存记录和本次复查中均返回 official=false,并有明确的非官方 fake 理由。
平台launch 10150 接口标记为官方的是 0x503f2a7bac1e2ff2800aa92edb82abef0bfa631e。本文不会把这两个市场的收益、价格和交易排名混在一起。
后续清仓七笔回执位于 185616009 至 185616028;11:11:23 的验证记录在区块 185616155 核对七钱包零持仓。本次只读复核再次确认了这些历史回执及该验证区块的余额。可从钱包一买入回执与清仓回执核对样本。
| 账目 | 金额 / INJ | 口径 |
|---|---|---|
| 买入本金 | 91 | 已包含买入手续费,不再重复加 fee |
| 实际收到代币 | 69,349,252.978698905626532045 枚 | 七笔确认 Buy 事件合计 |
| 卖出净回收 | 65.989750864890398344 | 已扣卖出交易手续费 |
| 不计 gas 的损失 | 25.010249135109601656 | 约为本金的 27.48% |
| 买入与授权 gas | 0.105 | 项目历史余额对账口径 |
| 卖出 gas | 0.140 | 同上,每钱包 0.020 |
| 含上述交易 gas 的损失 | 25.255249135109601656 | 分母采用 91.245 时,损失率约 27.68% |
| 两份配套合约部署支出 | 0.01354389 | 另外的建设成本,未计入上行交易损失 |
交易费用使用成交事件与指定区间的历史余额变化交叉核对,不能仅把回执 gasUsed × gasPrice 当成实际账户扣费。若区间内另有原生资金转移,应再逐项拆账。部署报告也分别保留实际余额减少和回执执行 gas 估算,没有将两者混为一个数字。
10:59:42 的 65.989751 INJ 曾只是卖出报价快照;清仓后的确认事件才支持“已实现损失”。独立清仓不能被写成“3 倍自动出本成功”。16:02 复核时,狙击服务为 inactive、disabled;这不代表未来任何运行状态。
2. 关键过程和重要决策
第一阶段检查核心、工厂、曲线、毕业后池和相关 ABI,再扩展七钱包预算、交易日志和本金回收流程。这一步使费用和成交数量可以按真实事件核算,也避免长期假设核心合约一直可卖。
第二阶段增加护窗分流。方案从普通钱包拆分,明确为“父钱包承担外层交易资金与 gas、子钱包通过 7702 委托执行、代币和退款回到对应父钱包”。没有把通用分发合约直接当成委托执行实现,而是部署了 SproutChildBuyer 与 SproutBatchBuyer。其权限和归集逻辑需要由专用代码保证。
第三阶段完成离线测试与服务器部署。采用隔离 Python 3.13.16 和 CoinCurveECCBackend 解决兼容问题,配置 systemd、文件权限和持久化恢复。默认干跑与显式 live 的边界保留。
两个影响结果的重要决策是:保留既有身份策略,以及将三轮卖出授权全部放在买入前等待确认。前者保留了误买入口,后者显著增加了开盘等待。
本轮日志时间线如下。N 表示 launch 10124 的创建区块。
| 北京时间 | 过程 | 证据与结果 |
|---|---|---|
| 09:48:01 | 创建代币 | 区块 185607758,N |
| 09:48:02 | 普通交易开放时间 | 链上 opensAt |
| 09:48:02.674754 | WSS 发现候选 | 创建者信任为 unknown |
| 09:48:02.818 | 平台记录的 fake.since | 这是平台标记时间,不是客户端接收时间 |
| 约 09:48:03.2 | clean 放行 | 日志记录等待约 544 毫秒 |
| 09:48:03.565 | 第一轮 CORE 授权广播 | 确认在 N+3 |
| 09:48:05.689 | 第二轮代币到 Permit2 授权广播 | 确认在 N+6 |
| 09:48:07.444 | 第三轮 Permit2 到 Router 授权广播 | 确认在 N+9 |
| 09:48:09.031 | 阶梯计划 | 已经晚于开盘,合并为一档 |
| 09:48:09.048 | 七笔买入广播 | 距发现约 6.3735 秒 |
| 09:48:09 | 买入区块时间 | N+12,七笔同块 |
区块时间只有秒级精度,日志有毫秒精度,不能据此还原节点入池的精确顺序。平台 fake.since 早于放行日志,但没有保存当时的完整 HTTP 响应;不能断言客户端已经收到标假信息并故意忽略,也不能锁定某一缓存机制为本次直接原因。
能够确定的是:没有正面的官方身份确认,脚本仍以 clean 条件进入了买入。
3. 做得好的地方及成功原因
执行层有几项可继续复用的基础。
| 设计或过程 | 成功原因 | 证据边界 |
|---|---|---|
| 七钱包明确集合与独立预算 | 钱包、nonce、成本各自记录,汇总仍受总预算约束 | 本轮七钱包各 13 INJ,未说明策略获利 |
| 超时不释放在途预算 | 未确定交易继续占用资金,只重播原交易 | 离线测试覆盖超时与恢复;本轮未实盘触发所有异常 |
| 广播前持久化 | 哈希、nonce、交易与进度可恢复 | 需要继续测写盘故障和跨进程互斥 |
| 确认事件计账 | 区分交易附带 value、实际花费、退款和实际到账 | 本次回执核对支持成本与清仓金额 |
| 无护窗时直接买入 | 减少不必要的子钱包和内部调用 | 10124 实际子钱包为零 |
| 按实际毕业路径处理卖出 | 不依赖单一 sellNative 假设 | 完整 3 倍出本流程仍需单独验收 |
| 合约、环境与默认干跑 | 使用验证过的路径和可复现依赖,明确 live 才广播 | 部署运行成功不等于身份和盈利验收 |
正常出本的保护方向也正确:等实际成本确定后冻结共同触发价,使用链上净报价,按本金缺口求最小卖量。固定卖三分之一不能抵消手续费和价格冲击;七笔卖出会共同改变曲线,需要处理部分回滚并防止已出本钱包重复卖。
当时对应版本的报告记录 101 项内置自检、67 项模拟钱包/RPC 测试、10 项 Foundry 合约测试通过,部署工具另有 4 项测试。这些数字证明相应版本通过了列出的检查,不能延伸为任意后续版本都已通过,也不能代替业务验收。
4. 问题、根因与经验教训
最严重的问题是身份模型。既有自动入口除了 api、team,还允许 funded、clean 和 metadata。团队转账关系不是官方发行证明;元数据中的官网和推特可复制;未标假也不等于官方。
本次路径是 unknown → clean → 买入。clean 只要求本地保存的无负面标签状态持续 0.3 秒,不要求计时结束前再取得一次新响应。一次先收录、后标假的响应,或较旧响应晚到,都可能形成错误放行窗口。具体发生的是哪一种,目前不能确认。
放行后也缺少广播前的身份复核。三轮授权增加了数秒等待,却没有把这段时间转化为再次核验官方身份的机会。
| 问题 | 根因 | 可用于下一次的措施 |
|---|---|---|
| 误买非官方币 | 弱证据被当成资金执行许可 | 自动买入要求明确官方确认;弱证据只用于发现 |
| 标签变化不能及时拦截 | 身份许可与后续资金广播脱节 | 买入每批广播前核验来源、新鲜度、地址和冲突 |
| 测试通过仍出事故 | 测试包含“0.3 秒后返回 clean”的预期断言 | 测“非官方与未知不能自动买”,而非仅测函数返回值 |
| N+12 进场 | 三轮授权串行确认占用关键窗口 | 将静态准备前移,重新设计授权执行模型 |
| 错过官方曲线窗口 | 买入只支持曲线 Trading,官方样本 N+2 已毕业 | 单独验证毕业后的买入与退款衔接 |
| 3 倍规则不能处理身份事故 | 正常回本与损失退出是两种目标 | 事故模式独立预算、下限、权限和审计,不自动清仓 |
| 证明范围混淆 | 合约部署、只读覆盖与 Type 4 实盘准入被合并理解 | 每条路径分别列已验证、未验证和不可用项 |
源码版本对比显示,funded、陌生创建者模式、0.3 秒 clean 和元数据兜底来自既有策略并被保留。这有助于定位根因,但不免除扩展与部署责任:规模扩大到七钱包、91 INJ 前,应指出身份入口不足,并将其纳入上线审查。用户批准实盘动作也不构成策略正确的证据。
还有一个普遍经验:七笔同区块成交并不等于同价。本轮 transactionIndex 为 0、2、3、4、5、6、7,每笔都会改变曲线,实际均价和收到数量自然不同。并发只能缩短广播等待,不能消除市场冲击或让整批成为原子交易。
5. 投入与产出是否合理
交易层结果不合理:核心目标没有达成,91 INJ 承担了身份错误风险,最后形成约 25.255249 INJ 的含交易 gas 损失。不能用代码量、测试数量或服务器稳定运行来抵消这个结果。
工程层仍有可复用资产:七钱包账本、预算和 nonce 管理、恢复日志、已验证的交易路径、护窗批次合约、部署流程及本次事故证据。这些资产的价值取决于后续纠正身份策略、缩短关键路径并补齐验收,不能直接折算为投资收益。
已知建设成本是两份合约部署的 0.01354389 INJ。服务器费用、RPC 订阅、开发人时、机会成本和完整项目总开销没有可靠记录,不能计算完整 ROI,也不能给出人力回报率。若把部署支出全分配给本轮,已知交易损失加部署支出为约 25.268793 INJ;这仍不是完整项目损益。
配置复杂度投入在身份验证尚不可靠时就快速增加,是资源排序上的问题。下一次应先证明“不会买错”,再证明“资金不会重复使用”,然后验证最快可交易路径,最后扩展地址数量和高复杂度的毕业衔接。
其他钱包的个别利润不能作为项目本可赚到的金额。我们没有在同一时间、同一身份约束和同一资金规模下做出相同交易,市场后续成交也包含我们的影响;简单替换入场块属于反事实假设。
6. 同类成熟项目值得借鉴的做法
这里借鉴公开实现的方法,不给任何交易机器人虚构长期收益,也不认定这些工具被本次链上参与者使用。
将权限与执行路径拆清楚。 Uniswap Permit2 官方文档区分代币对 Permit2 的授权,以及 Permit2 对具体 spender 的额度、期限和签名授权。Permit2 不能省掉真实代币合约的首次 approve。对本项目,要把三种授权分别记录、验证,研究可前置的部分;授权成功必须看真实 allowance,不能只看回执成功。
使用受限的批量和赞助执行。 EIP-7702 规范支持批量操作和费用赞助,权限边界由委托代码保证。借鉴点是把允许的目标、金额、收款人和失败处理写入受限执行逻辑。它不自动证明项目身份,也不消除价格冲击。委托具有持续性,调用回滚不意味着已经处理的委托状态全部撤销,恢复需要核对代码与 nonce。
对失败进行可解释的模拟和留档。 Flashbots 的交易包排障文档把执行回滚、费用竞争、交易冲突和时序分别检查,并保留模拟结果。适合借鉴的是在目标区块状态上复现“前面已有其他交易”时的行为,记录每一阶段时间。本文没有证据证明 Injective 支持相同交易包服务,也没有证据证明早期买家使用 Flashbots。
将上线结果绑定具体版本。 本项目应学习成熟执行系统的分层验收:策略允许做什么、实现是否正确、节点是否接受交易、实际成交怎样、资金是否完成对账,分别给出证据。尤其要加入否定用例:复制元数据、标签缺失、API 失联、响应乱序、授权回滚、毕业时部分退款、未知在途交易与重启。
7. 更早买入者的链上路径、速度差异与可学方法
先区分可比范围:10124 的买家与我们交易同一个币,可以比较真实先后;10150 的买家参与另一个官方市场,只能作为相对开盘执行的样本。不能把后者写成“在同一笔交易中抢在我们前面”。
7.1 同币比较:N+2 小额买入、N+3 大额买入
10124 首笔外部买入位于 N+2,支出 0.01 INJ,直接调用 CORE.buyNative,Type 2,gas price 6.16 Gwei。金额小是已确认事实;“用来探测”的目的只是推测。
地址 0x50C61a194e42177055fC5C8e70E2de4c79193E50在N+3 买入交易中直接调用 buyNative,投入 30 INJ,gas price 11.271111111 Gwei。随后在N+15 卖出交易售出全部所获代币,净输出 37.495915405387027673 INJ,收支差约 7.495915 INJ,未扣 gas。
它比我们 N+12 买入早九块,且在我们买入后三块退出。可以确认其直接入口、金额、块内顺序和退出结果;无法证明它是否提前知道消息、是否等过身份 API、如何广播,以及它与其他地址的关系。更早进场和短持仓是可观察差异,不是可保证复制的盈利方法。
7.2 官方样本:二十笔普通钱包在首个可买区块进场
10150 创建于区块 185609674,10:07:00;链上普通开盘时间为 10:07:01。已验证核心源码在 block.timestamp < tradingOpensAt 时回滚。创建者的 227.28 INJ 初始买入位于创建交易内部,是发币流程特例,不能算普通买家 N+0 抢跑。
N+1,即 185609675,出现二十笔外部买入,共支出 999.959879879999769 INJ。全部直接调用 CORE.buyNative,Type 2、gas price 0.16 Gwei、gas limit 1,200,000;历史账户代码为空,没有 authorizationList。本次复核重新确认了二十笔交易。因此这些买入没有使用 EIP-7702。第一笔 N+1 交易提供了公开样本。
二十个地址都有 0x108421 前缀,交易参数和金额分配呈集中安排特征。这支持“可能有协调操作”的推断,但不能证明同一控制人,也不能识别软件、RPC、私有通道或提前消息来源。扫描截至 10:16:57 时这些地址没有代币转出,不能延伸为现在仍持有。
可学方法是:提前准备钱包与参数,核对首个可交易区块,将静态工作移出开盘路径,并让真正买入尽早到达节点。官方身份信息何时能被我们的客户端可靠收到没有完整记录,不能承诺严格官方规则下也一定能 N+1 成交。
7.3 官方样本:一笔交易跨越曲线、毕业与 DEX
N+2 的大额买入由地址 0x108421084210b9e99cc64a419e92665fe56e4520调用专用合约 0xD293722f8c03851B9DB94687e0E18A005F7B43cA,附带 2,000 INJ。
已确认核心、代币、WINJ 和池管理器事件共同支持以下资金路径:曲线实际支出 1,298.012645372525483520 INJ,收到 180,493,798.605670964535004609 枚;余款 701.987354627474516480 INJ 退款;同交易毕业并建立 Infinity CL 池,退款继续用于该池,另收到 48,337,649.560999892340609224 枚;调用者合计收到 228,831,448.166670856875613833 枚。
池管理器为 0x6A4085Bb379e5213Df84Dc2dD52562559602b029,Pool ID 为 0x1e04595a7b2ee62aa81b626c4df48eb7ff91f5c70eafa2266fb9535ab9243839。路径按项目已验证的池管理器 ABI 解码。不能把池 Swap 中的净资产变化直接当作含全部费用的外层支出。
这一执行方式的可学点是“一个订单随着市场状态变化处理剩余资金”。现有脚本有毕业后卖出路径,买入仍要求曲线 Trading,不能复制上述完整路径。对本项目需另外实现已验证 DEX 买入与退款衔接,并让曲线和 DEX 支出合计受每钱包 13 INJ 约束。
没有取得该专用合约的已验证 ABI,debug call trace 在既有调查中也不可用。事件可以证明已发生的资产变化,不能还原其所有内部判断、权限、最低收到保护或异常处理。不能猜测入口,也不能向它授权资产。
7.4 大额买家的退出方式与收益边界
该调用者在 10:07:15 至 10:11:49,通过同一合约分三十八笔售出全部收到的代币。最初几笔多为剩余持仓的 5%,中途有调整,最后卖完剩余量。本次复核确认了全部三十八笔成功回执及合约的 WINJ Withdrawal 金额合计 10,175.204110595744813467 INJ。
历史余额记录显示,调用者在 185609675 至 185610157 的原生余额增加 8,175.121229795744813467 INJ。区间含所有收支及 gas;合约解包也不自动等于某个收款人的收益。没有完整资金流和所有相关资产审计,不能把它写成确定的策略净利润,更不能称为长期回报率。
可借鉴的是分批退出与持续对账。其卖量比例、资金规模和清仓目标,不能直接替代我们的“收回本金后保留代币”策略。
7.5 我们的主要速度瓶颈已有直接证据
| 环节 | 我们的记录 | 能确认的差异 | 不能据此确认 |
|---|---|---|---|
| 发现与身份 | WSS 发现,约 544 毫秒后 clean 放行 | 身份许可不足 | 别人的消息渠道或官方确认速度 |
| 买入前授权 | 三轮串行确认,第一轮广播到买入约 5.483 秒 | 应用层多块等待显著 | 别人所有授权都如何准备 |
| 签名与持久化 | 阶梯计划到广播约 17 毫秒 | 这一段不是最大等待项 | 单独签名耗时或可承诺极限速度 |
| 广播参数 | 我们 10 Gwei;官方 N+1 样本 0.16 Gwei | 加 gas 不能弥补尚未广播 | 网络排序永远与 gas 无关 |
| 市场状态 | 我们买入要求曲线 Trading | 官方样本 N+2 已毕业 | 移除授权等待后必能获利 |
12:20 的只读抽样中,八个配置 HTTP 端点的 eth_blockNumber 中位数约 2.6–2.9 毫秒,另一个约 45.5 毫秒,公共端点约 98.2 毫秒且十次有两次超时。这只是每节点十次的小样本读取测试,不是交易传播、入池或开盘时 p99 测试。当前更确定的改善空间是消除串行准备中的多区块等待。
buyNative 本身通过 msg.value 支付 INJ,不需要先完成卖出授权。满足原要求的优化应区分情景:目标已部署、延迟开盘时提前授权;部署后立即开盘时评估受限原子授权及买入。买后立即授权也是候选方案,但会增加短暂无法卖出的窗口,属于策略变更。单纯流水发送三轮授权再买入,授权回滚仍消耗 nonce,不能保证后续买入前授权已成功。当前两份子钱包合约没有实现父钱包的这种原子流程。
8. 改进方向、优先级和下一步行动
以下为待执行措施,不表示已经改完或经过实盘验证。
| 优先级 | 下一步行动 | 验收条件 |
|---|---|---|
| P0 | 自动入口采用明确官方确认;移除 clean、复制元数据、仅资助关系的自动许可 | 未知、非官方、复制链接均不产生自动买入 |
| P0 | 每批买入广播前复核身份、来源、响应时间、目标地址和冲突 | 授权期间标假或来源冲突能拦截新买单 |
| P0 | 重放 10124 事故,加入 API 乱序、失联、标签延迟、重启场景 | 资金广播前拒绝错误目标,未知在途预算不释放 |
| P0 | 定义独立事故模式与明确退出权限 | 停止新增风险,不擅自改成接受亏损清仓,不重置另一轮预算 |
| P1 | 把 ABI、字节码与不可变路由验证放在启动;钱包读取并发 | 热路径缩短,余额、nonce、护窗额度和报价仍保持新鲜 |
| P1 | 按开盘类型设计提前授权或受限原子流程 | 授权失败不能造成无保护买入,满足原定卖出准备要求 |
| P1 | 记录发现、官方确认、签名、持久化、首次 RPC 接收、落块与 index | 每笔交易能解释创建块差、可交易块差和耗时构成 |
| P2 | 实现经验证的毕业后买入与退款续单 | 跨路径合计支出不超 13 INJ,最低收到和价格上限有效 |
| P2 | 单独验收 Type 4 准入、归集、退款、部分失败和恢复 | 离线、只读、真实准入证据分开;实盘另有明确授权 |
| P2 | 调整权限额度、期限、gas 和退出后授权处理 | 总费用与权限可审计,不破坏正常监控和恢复 |
下一次项目应分四个里程碑推进。先完成身份整改与事故回放,再做七钱包完整模拟及异常恢复,然后运行只读影子模式测量准备延迟,最后在单独的明确交易授权下验收真实准入与成交。扩大资金规模应在这些结果之后。
速度验收至少同时统计 买入块 − 创建块 和 买入块 − 首个可交易块。10150 的普通 N+1 买家已经处于首个有效窗口,不能把不能交易的创建块当成必达目标。客户端官方确认到达时间缺失时,应明确统计边界,避免用降低身份门槛换取漂亮的块差。
每次上线保留版本、身份规则、钱包集合、预算及 gas 上限、允许的曲线和 DEX 路径、授权地址、测试报告、未验证项和事故规则。成功标准应包含正确目标、完整资金对账和明确退出结果,而不仅是交易上链。
本次最应该带到下一次的改变,是将证据强度、执行速度和资金控制放在同一套验收中:先证明目标可信,再缩短可证明的等待;每个优化都保留预算、持久化、nonce 和最低收到保护。
证据范围与限制
本地审计材料包括 identity_logic_comparison、latest_token_identity_report、latest_trade_log_excerpt、launch_speed_report、liquidation_report、liquidation_verification、对应版本测试报告及 retrospective_evidence_recheck。本文只将必要的公开链上地址、交易与汇总结论写入草稿,没有上传私钥、RPC 凭据、原始签名交易或服务器登录信息。
本次重新核对的是关键回执、事件和历史状态,不是重新扫描全部市场。其他买家完整调查窗口为各创建后 1,000 块,官方样本截至 10:16:57。该窗口不能证明当前持仓或长期收益。
仍无法确认:早期买家的软件与监听方式、具体节点或私有通道、是否提前获知消息、统一前缀地址的控制人、我们放行当时完整 API 响应,以及大额买家的完整策略净利润。配套合约已部署也不等于完整 Type 4 七组实盘流程通过;本轮独立清仓不证明 3 倍留币策略完成。