跳到正文
← 使用教程

Stargate V2 等待到账:Bus 票据发车不等于目标链已收到

链小知 · 进阶 · 核验 · 依官方文档整理

依据 V2 票据与队列字段区分本地结算、消息发出与到账,说明 Taxi/Bus 的能力和费用边界。

开始前准备

  • 准备 V2 源链交易记录、对应合约 ABI、dstEid 和已有 Ticket 信息。
  • 此文依据官方检索索引返回的正文整理,直接页面抓取超时;当前部署 ABI 与网页界面需另行复核,不适用于全部 Stargate 路由。

1. 固定 V2 路由和同资产目标

对照原始请求的源/目标币地址、接收地址与版本。官方 V2 同资产桥接模型并不是任意 USDC 换其他币;dstEid 为 LayerZero endpoint ID,不能直接填钱包的 EVM chainId。

检查结果:版本、资产和 dstEid 对应关系有依据。

2. 确定 Taxi 还是 Bus

检查 SendParam.oftCmd:空 bytes 为 Taxi,bytes(1) 为 Bus。Bus 将消息批量发送,本地已结算仍可能尚未收到目标资产;不能只看源链回执就认为跨链结束。

检查结果:原请求模式已识别,没有用前端速度描述代替合约字段。

3. 核对 Ticket 与发车队列

取得 Ticket.ticketId,并按当前部署 ABI 读取对应 dstEid 的 busQueues.nextTicketId。官方文档的比较规则是 nextTicketId 大于 ticketId 表示已发送;先确认该部署实际暴露的合约与字段,避免照搬到其他路由。

检查结果:有票据号、同一队列的 nextTicketId 和查询时点。

4. 将发车与目标链结果分列

已发车只表示消息进入后续跨链阶段。检查目标链的接收交易、接收地址和实际同资产金额;缺少目标记录时写成“已发送,到账未证实”。源链队列没有发车证据时,不能用目标链网络费不足解释所有等待。

检查结果:本地结算、发送、到账三栏有各自证据。

5. 检查费用与目标逻辑限制

quoteOFT 的数量与 quoteSend 的消息费不同,nativeFee 也不等于跨链本金。Bus 不支持 Taxi 的 destination compose 逻辑;若需求是桥后调用合约,应先核实路由能力。付费 driveBus 是另外的执行动作,不能当作通用故障修复。

检查结果:费用、本金和 compose 能力分开说明。

怎样确认完成

  • 明确最后一个有证据的跨链阶段。
  • 文档读取方式与当前部署待核查范围已经说明。

常见错误与边界

  • 把 endpoint ID 当 EVM chainId。
  • Bus 发车视为到账。
  • 套用 Taxi composability 到 Bus。

本教程根据官方资料整理,尚未完成逐步操作验收。界面、支持范围及费用变化时,先核对官方说明。 纯文本版 · 提交纠错依据