Flint:用同一交易对核L2订单簿、成交带与外部估计价
链小知 · 进阶 · 核验 · 依官方文档整理
按官方字段读已有行情样例,核快照/重连、十进制单位、成交身份和健康事件,形成可用深度记录。全程不接入业务行情流。
开始前准备
- 准备官方Market data、Units、Endpoints正文与已有脱敏book/fill样例;没有样例时只能完成文档字段映射。
- 记录样例的环境、采集时间和交易对目录,保持全部地址/身份脱敏;不安装SDK、不创建maker、不请求API。
1. 先选公开行情路径与正确环境
当前官方将现货和Coming soon永续分开。公开行情不用maker_id或session;做市路径须团队分配maker_id,email管理权限也不自动等于链上管理员权限。
对照Endpoints,在记录中明确mainnet或devnet及对应public endpoint;文档SDK默认mainnet。本文只读这张映射,不连接端点。
检查结果:记录现货、环境与公开MarketDataService,未把做市登录或永续预告当先决条件。
2. 从交易对目录映射base与quote
以已有ListPairs目录核base/quote spot id、mint、decimals和atoms-per-lot。文档SOL/USDC示例base_id=1、quote_id=0仅作示例,不能把数字固定为所有部署目录。
Flint每个base有SpotMarket、USDC有GlobalMarket;跨base交易是在匹配时合成,目录交易对不代表独立一对一池账户。若脱敏目录缺mint/环境,则身份保持未知。
检查结果:同一条目录能对应样例pair;缺目录时不按SOL名称猜mint或spot id。
3. 按L2快照与重连顺序整理已有记录
官方方法先GetBook({pair,level:L2})取得快照,再Subscribe pairs/level/snapshotOnly=false接增量。L1只有最佳bid/ask;L3为逐maker列表且不含虚拟oracle-offset订单,不能用L3缺项证明该流动性不存在。
在已有记录中,每次streamWithBackoff connected(含重连)都应有GetBook重同步;item再应用事件。SDK能重连不等于本地簿从未漏增量;缺重同步快照就标记深度不完整,不拼接成连续无缺口。
检查结果:能指出首次与每次重连对应的快照;缺失时明确本地L2完整性未知。
4. 保持decimal字符串与微秒时间
price.value是quote/base,size.value是base人类单位;文档price "155.14"、size "10.0"意味着10 SOL按155.14 USDC/SOL,不再乘token decimals。保留decimal精度,不强制转二进制浮点。
Timestamp.micros是Unix微秒,slot为Solana slot;它们不是秒/毫秒互换。best_bid/best_ask/mid在空侧可省略,缺值不填0或构造中间价。
检查结果:输出保留原字符串、单位和micros/slot,空侧明确缺值。
5. 拆分Flint成交与外部参考
SubscribeFills为空pair过滤时包含所有pair,公开fills不含maker_id,不能归因自己的库存。maker-attributed fills属认证MakerService。
SubscribeExternalFills只订一个pair,price=quote/base、size=base,source是聚合器;SubscribeExternalQuotes的bid/ask以同一固定base名义量轮询,仅global USD numeraire pair,ask_route/bid_route是各腿AMM标签。这是可能过时且未计实际滑点/gas/impact的参考,不是可执行firm quote。
检查结果:成交类型、source、pair范围分别记录;未把外部估计价或公开成交当本人实际成交。
6. 按健康事件和限额标记结果可用范围
StatusEvent可global(无pair)或pair级;Degraded可能过时,Halted不可据此行动。它们是advisory,SDK不会自动阻止业务调用。缺状态记录不推断Healthy。
当前默认public unary每IP 50次/秒桶、stream100并发连接;RESOURCE_EXHAUSTED为gRPC8,按回退恢复而非立即重试。只读本次无需请求接口。7月24日/9月1日产品评论引用项目与基金会,费用采样、集成状态和流量仅历史上下文。
检查结果:完成一份带时点/身份/深度完整性/健康/外部参考限制的记录,未知项保留。
怎样确认完成
- 完成同一pair的环境/目录/精度核对。
- 明确重连缺口、身份未知和外部参考估计范围,无业务调用。
常见错误与边界
- 把L3当全部虚拟订单或把自动重连当无漏增量。
- 公开fills不含maker_id;外部quote的AMM label不证明当前Flint集成可执行。
- 7月OKX live与9月in progress的报道差异未核当前,不以旧采样费率报价。