扫码直接进 dApp:CIP-158 给 Cardano 钱包内置浏览器定的深链格式 图 1
扫码直接进 dApp:CIP-158 给 Cardano 钱包内置浏览器定的深链格式 · 图 1

用手机 dApp 最烦的一步,往往不是交易本身,而是「先把钱包打开、再找到内置浏览器、再把那串网址粘进去」。CIP-158 针对的就是这段摩擦:在 web+cardano 协议下新增一个叫 browse 的权限段,让一条链接或一枚二维码直接完成「拉起钱包、打开内置浏览器、进入目标页面」三连。这份提案 2025 年 7 月提交,由 Adam Dean、VESPR Wallet 的 Alex Dochioiu 等人起草,目前状态是 Active,列名的实现方有 VESPR 与 Begin 两家钱包。

这条链接长什么样

按提案的 ABNF 语法,格式固定为 web+cardano://browse/v1?uri= 后接一段百分号编码的目标网址。三个部件都是必填:authority 必须是 browse,版本目前只有 v1,uri 参数只接受 http 和 https 两种 scheme——没写 scheme 时按 https 处理。提案给出的示例是把一个交易页的完整路径与查询参数整段编码塞进去,本地开发场景也支持 http://localhost:3000 这类带端口的地址。

扫码直接进 dApp:CIP-158 给 Cardano 钱包内置浏览器定的深链格式 图 2
扫码直接进 dApp:CIP-158 给 Cardano 钱包内置浏览器定的深链格式 · 图 2

钱包被要求做什么

提案给钱包定了行为底线:先解析并校验版本、scheme 与域名,再把完整的路径和查询串原样转发给目标应用。安全策略上留了三档裁量:钱包可以维护自己的信任域名白名单,白名单内免提示直达;可以维护已知恶意域名的黑名单,命中时给出醒目警告、用户明确确认才放行;对既不在白也不在黑的域名,建议展示警告并请求明确许可——规范特别点出原因:仅仅加载一个网页,对方的服务器就能拿到 IP 与设备信息等数据,这本身就是一次信息外流。此外钱包应当把目的地讲清楚、允许用户在跳转前取消。

深链不等于安全背书

开发者侧同样有责任:钱包无法自动判断查询参数里是否藏了敏感数据,所以长期密钥、用户隐私不该拼进分享链接,能用短时令牌就用短时令牌。对用户来说,正确的心态是把 browse 链接当作「带路的」而不是「担保的」:它替你省掉手打网址这一步,也顺带消灭了钓鱼者最喜欢的「仿冒域名差一个字母」环节——但你落地的那个域名是否可信,仍然要自己核对。点击后的第一件事,应当是看清钱包展示的完整目标网址。

与支付链接、旧深链的分工

web+cardano 世界此前已有别的用途:web+cardano 链接里只装一个地址:CIP-134 把 Cardano 地址写进浏览器的办法,不扫码也不装扩展:CIP-186 用系统深链把签名请求送进 Cardano 钱包;CIP-158 特意用一个独立的 browse 权限段把「打开应用浏览」与支付、认领类意图隔开,避免钱包靠猜来处理不同诉求。提案同时锁死版本纪律:v1 一经定稿不再改动,要扩展就另开提案升到 v2,防止老链接悄悄变义。

上手核对清单

拿到一条 browse 深链或二维码:确认系统拉起的是你自己装的那款钱包(同协议处理器可能被多个钱包注册);看清钱包展示的目标域名,逐字符核对主域名;对陌生域名,默认当作「会泄露 IP 的一次访问」来权衡;进入 dApp 后,签名前仍按老规矩核对金额、地址与网络。

点了没反应:排查顺序

深链「没反应」多半卡在注册与语法两环。第一环是系统层的协议归属:web+cardano 这个 scheme 由操作系统或浏览器交给哪个钱包,取决于你装过什么、上次改过什么默认应用;同一台手机装两三款都声明支持该协议的钱包很常见,点开时被静默交给了另一款、或者弹了选择框而你点了「总是」,后续所有链接就都进了别家。排查动作是进系统设置查默认应用,并在钱包自己的设置里找 web+cardano 处理器开关——各款产品菜单名称不一,找不到时以其官方帮助页现文为准,别拿别人教程里的按钮名硬套。第二环是链接本身合不合语法:authority 必须一字不差是 browse、版本目前只有 v1、uri 参数必须整体百分号编码且只允许 http 或 https;手拼链接最常错在忘了编码查询串里的 & 和 =,导致钱包解析时只截到半个网址。第三环才轮到版本与钱包版本太旧不认识 browse 段。链接类入口改变的只是导航方式,不改变资产操作的风险结构——转错、签错的责任不因为「是扫码进来的」而消失,本文不构成投资建议。