全部说明

2026-05-26

如何确认我的存款已到账?

点击存款之后,会产生三个相互独立的产物。任何一个都足以确认您的资金在池子里。三者结合起来,让您能够在完全不信任 SolMask 界面的前提下验证存款 —— 这正是隐私协议应有的偏执程度。

至少应该检查第一项和第三项。如果您格外谨慎,三项都检查。

检查一:链上的交易签名

存款指令是一笔普通的 Solana 交易。它确认之后,界面会向您展示一个签名 —— 一个大约 88 字符的 base58 字符串。该签名就是存款已发生的规范凭证。

您可以用 Solana CLI 验证:

solana confirm <signature>

Finalized 的响应意味着该交易永久且不可逆。其他任何响应(ConfirmedProcessed 或没有结果)都意味着集群还在追赶;再等几秒钟。

您也可以把签名贴进任何 Solana 区块浏览器 —— Solscan、SolanaFM 或官方的 explorer.solana.com —— 检查指令。您应该看到一段 CPI,把您的资产从您钱包的 token 账户全额转入池子的 vault —— 因为存款是免费的(协议费用在提款时收取)。您还应该看到一行 DepositEvent 日志,包含您的承诺哈希、叶子索引和实际被屏蔽的金额,以及一段由钱包加密的恢复数据块(encrypted_note)—— 它能让同一个钱包在任何设备上重新找回这张 note。

如果交易已上链并最终确认,您的资金就在池子里。加密学并不依赖界面对发生之事的信念 —— 它依赖于链上实际发生的事。

检查二:relayer 的 Merkle 端点中的叶子

交易确认后的几秒内,SolMask 的 indexer 会捕获您存款的 DepositEvent,并将承诺加入它对 Merkle 树的镜像。您可以直接命中 relayer 上、按您资产 mint 提供的叶子端点来验证:

GET /merkle/<mint>/leaves?from=<your-leaf-index>&limit=1

叶子索引已在存款事件中打印,并在界面"存款成功"的提示中显示。响应是一个小的 JSON 块,包含十六进制字符串形式的您的承诺及其被索引的 slot。如果 JSON 中的承诺与界面在存款时向您展示的承诺一致,indexer 就已经收录了它,您只要到达解锁 slot 就可以提款。

在健康的主网 RPC 上,indexer 通常在最终确认后约五秒内追上。冷清的池子和周末流量低谷可能把这推到十五到二十秒。如果过了一分钟您的叶子还没出现,可能是 relayer 滞后了 —— 您的存款在链上仍然安全,但您需要等 indexer 追上才能提款。

还有一个并行端点只返回某个池子当前的 tree_size —— 当您只想确认自己的叶子索引在活跃树的范围之内、而不想枚举所有叶子时很有用。

检查三:钱包恢复

这是能证明您日后确实可以花费这笔存款的检查 —— 而且与旧设计不同,这里没有需要保管的文件,也没有需要记住的口令。

存款时,您的浏览器会从您的钱包派生出这张 note 的四个秘密 —— 花费秘密、nullifier 秘密、金额和解锁 slot。它的做法是请求钱包签署一条固定消息;该签名是确定性的,所以同一个钱包总会重现出相同的秘密,且没有任何东西被写入文件。存款还会把一小段恢复数据块 —— { leaf_index, amount, unlock_slot } —— 用一把只有您的钱包才能派生的密钥加密,这段密文以 encrypted_note 的形式发布在链上的 DepositEvent 内部。

要验证恢复是否有效,请断开并重新连接您的钱包(或在一个全新的浏览器配置中打开应用),让它重新扫描。SolMask 会取回该池的每一段恢复数据块,逐一试解密,那些用您的钱包加密的就会点亮您的余额 —— 包括您刚刚做的那笔存款。如果您的余额在一台从未见过这笔存款的设备上出现,那么恢复就得到了端到端的确认。

由于授权方是您的钱包,其失效模式与口令方案不同:除了对钱包本身的访问权之外,没有任何东西会丢失。请像一贯那样保管好钱包的助记词 —— 这一个秘密就能重建每一张 note。SolMask 不存储任何能恢复您 note 的东西;只有您的钱包才能解密它们,而这正是协议保持非托管特性的关键所在。

"已验证"长什么样

当以下三件事同时为真时,您就完成了存款验证:交易签名在链上最终确认,relayer 的叶子端点在您的叶子索引上返回了您的承诺,重新连接同一个钱包时您的余额会重新出现 —— 这证明链上的恢复数据块确实能为您解密。

到那时您就可以关闭标签页。池子会按您愿意持有多久就持有多久 —— 没有过期 —— 横在您与提款之间的,只剩您在存款时选定的隐私延迟,以及重新连接同一个钱包这一步 —— 它会自动重新派生出这张 note。

如何确认我的存款已到账? · SolMask