跳到正文
← 使用教程

RAILGUN Unshield 未到账:分开证明、广播、收款和扣费

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

沿本人已有unshield操作记录定位停留阶段,核对native/wrapped资产、公共收款地址、Broadcaster费用和链上结果,不把证明完成当提现完成。

开始前准备

  • 已有脱敏unshield意图、客户端版本/txidVersion、网络、token、公共destinationAddress、费用/证明/构造/提交日志及已有交易记录。
  • 仅排查本人合法操作记录;不提供密钥、private notes或重新生成证明、签名、广播/withdraw。
  • 普通ERC20与base-token unshield是不同方法,文档SDK示例不代表所有当前客户端菜单。

1. 确认资产形式与公共收款对象

从原记录取chain、tokenAddress和destinationAddress。ERC20 unshield目标是public钱包;private 0zk不能不加区分作为普通公共收款地址。检查原接收网络和币地址,不只看名称。

base-token方法以shielded wETH为例,Relay Adapt将其unwrap为ETH给public balance,且该交易隔离不能与普通ERC20 unshield混合。1:1是wrapped转换比例,不是含协议扣费/gas后必收1ETH;不能只查wETH余额判断native ETH未到账。

检查结果:网络、公共接收人及应查wrapped/native资产明确,并对应正确unshield方法。

2. 找到证明、构造与提交的具体断点

按原日志排gas估计、Broadcaster费、Generate Proof、Populate Proved Transaction、Submit五阶段。proof完成只说明证明生成,populate返回transaction只说明构造,二者都不证明上链。

官方base-unshield Example Usage最后仅打印构造对象,没有sendTransaction/receipt;不要拿该示例的输出当已提现回执。每步错误原样保留,包括证明参数/版本不匹配,不用一条loading结束日志补出tx hash。

检查结果:记录明确停在哪一步,未提交、已提交与已确认三种状态分开。

3. 核对费用有效期及发起方式

Broadcaster报价包含gas与premium;链、gas、token、金额或UTXO输入输出变化都会影响估计。按已有费用条目的过期时间/时刻核对,文中通常约3分钟不是所有报价固定期限;过期证明或构造失败不能归类为链上revert。

若原记录sendWithPublicWallet为true,费用路径与通过Broadcaster不同,链上提交会关联该public钱包。只说明已发生行为的角色,不新建或换地址;自发交易原生gas与Broadcaster支付token分开核对,gasless不等零费用。

检查结果:费用版本/时效与实际提交者能对应,未以报价存在宣称已支付/已广播。

4. 对齐当前Spendable与POI记录

把该操作使用的原余额bucket/txidVersion与证明生成时间配对。查看记录若为view-only,本来就不具消费权限,不能让它提供spending key或把读取成功当可提现。

Broadcaster的POI检查与core私有余额不同;missing/blocked/pending保持原状态,不推所有币都可同样消费。若没有当时Spendable或POI记录,列资格待核,不根据现在一条余额反推历史已具资格。

检查结果:权限、原余额与证明资格在同一操作时间范围内,未知原因保留。

5. 用已有交易结果核对实际收款

有tx hash时按原chain和隐私/Relay Adapt合约归属核对已有receipt或浏览器存档;成功交易与revert分开,缺receipt/null/查询失败不等未广播或资金丢失。链上成功还需对应公共接收人及实际token/native余额变化。

收款数量按原token decimals和该方法结果保存;协议shield/unshield各0.25%扣费、Broadcaster gas/premium及发送钱包网络gas分列,不能在已净额再扣同一fee,也不靠估计费用证明实际到账。

检查结果:收款证据绑定同一hash/chain/地址/资产,原数量与费用有依据,链最终性未知明确。

6. 形成有限结论并保留需支持的证据

将结果写成“未取得提交记录”“提交后未取得确认”“来源交易失败”“已取得公共收款证据”等,不以固定等待秒数给SLA。原错误、阶段、参数摘要、版本和hash足以整理给原客户端支持,不分享密钥或完整私人历史。

没有现行SDK运行/广播/余额验收时保留documentation。避免把重生成/重新发款当只读排错步骤;先取得原操作身份和结果,重复操作会形成新交易。

检查结果:结论清楚说明已证实阶段和缺失证据,未把文档示例或证明状态充作收款成功。

怎样确认完成

  • 原unshield记录有方法/资产/公共接收人/费用/阶段与已有链上结果对照。
  • 收款、失败与未决结论有具体证据;没有生成证明、钱包操作或资金行为验收。

常见错误与边界

  • proof/populate日志、报价或构造对象不等tx已广播。
  • base-unshield的unwrap1:1不等扣费后净額;ETH与wETH检查混用。
  • view-only可读不等可提现,POI资格与链上交易是不同层。
  • 缺receipt、时间经过和Broadcaster报价失效不单独证明资金丢失或允许重发。

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