在浏览器或聊天窗口里看到 web+cardano://addr/addr1qx... 这样一串链接,它的含义是什么?CIP-134 给出的回答:authority 是 addr 的链接,承载的是一个 CIP-19 格式的 Cardano 地址。这份提案状态为 Proposed,是给「把地址做成可点击链接」这件事立的最小组法。
家谱:从浏览链接到地址链接
Cardano 生态的 URI 是一条演进线:CIP-13 最早定义了 web+cardano 前缀,用于指向区块和交易,让钱包或浏览器知道该打开哪个区块浏览器页面,后续浏览规范 CIP-158 延续了这套机制;CIP-107 把区块与交易对象的链接写法单独成文。CIP-134 在这个语法上补了一个新 authority——addr,规则简单到只有一行:addr = "//addr/" cip19-addr,其中地址字符就是字母、数字与下划线的组合,正好覆盖 bech32 编码的全部字符集。

装得下哪些地址
凡是 CIP-19 规定的地址都能直接嵌进去:主网支付地址 addr1...、测试网 addr_test1...、质押账户 stake1... 及其测试网变体;按 CIP-105 派生的治理地址同样可以,规范示例里列了 drep_vk1、drep1、drep_script1、cc_cold_vk1、cc_hot_script1 等一串前缀,并声明未来扩展的地址类型也在兼容范围内。换句话说,这串链接回答的是「这是谁的哪个地址」,而不是「这个地址在哪个区块链」。
它刻意不装的东西
对照其他链的支付链接能看清分寸:以太坊系的 EIP-681 与比特币的 BIP-21 一类支付 URI 允许在链接里带上金额、Gas 限制等参数,Solana Pay 的 solana: 链接也能携带转账金额;CIP-134 只定义了地址载体本身,没有规定金额、备注、期限字段。点开链接后钱包弹不弹窗、能不能预填收款金额,完全是各钱包自己的实现选择,不是这份规范保证的义务。
扫码场景里,URI 与纯文本地址差在哪
同一个地址,贴成纯文本和包成 web+cardano://addr/... 再做成二维码,触发的是两条链路:纯文本被钱包扫一扫读到,软件要靠字符本身猜意图——是收款地址还是浏览链接、主网还是测试网;带 addr authority 的 URI 则把类型写死在字符串里,钱包拿到的是「这是一个 CIP-19 地址」的明确声明,展示与转账决策留给用户。规范示例也提示了工程细节:测试网地址 addr_test1 与主网样例并列出现,字符集允许字母、数字与下划线,解析器不能按「必以 addr 前缀开头」的假设偷懒,drep_、cc_hot_ 这些治理前缀同样合法。
校验边界:bech32 救得了手误,救不了整段替换
bech32 编码自带校验和,链接里地址抄错一两个字符通常会被钱包直接拒绝;但校验和防不住「整段换成另一个合法地址」的替换攻击——链接被调包、指向攻击者地址时,每个字符都合法。所以纪律仍然是老三条:点开之后在钱包自己的屏幕上核对地址首尾若干位、核对网络前缀(主网 addr1 与测试网 addr_test1 前缀不同,这本身就是网络标识的一部分)、核对金额来源是否是你发起的页面。区块浏览器链接的规范思路可对照 换一条链就换一套网址规则?CAIP-200 给区块浏览器定下的最小两条路径,支付链接的两种老写法见 比特币第一条支付链接提案:BIP-20 的 version 字段、十六进制金额与 send 私钥 与 solana: 开头的那串字符:Solana Pay 支付链接字段逐项读。
这串链接可能出现在哪些位置
把场景摆出来更利于防守:最常见的用法是收款页与个人主页放一条 web+cardano://addr/... 超链接,点击后由系统决定交给哪个已注册该协议的处理程序;其次是电子发票、表单确认页把地址做成 URI 而非裸文本;再就是钱包之间的观察地址导入入口。每个位置的风险敞口不同——网页链接的跳转目标可被改写,邮件与短信里的纯文本可被肉眼近似字符替换,二维码介于两者之间且最难被普通用户复核。CIP-134 让「地址」在链接里有了明确的类型声明,但类型声明不背书的环节(这串地址是不是收款人本人给的)依旧要靠渠道本身保证。
状态与预期
Proposed 意味着没有义务谁都已经支持:钱包能不能识别 web+cardano://addr/、浏览器在系统层面把这类协议交给哪个应用,都要按具体产品核验。规范本身只有一页纸的复杂度,价值全在生态采纳率上;在 adoption 铺开之前,复制粘贴加肉眼核对仍是最可靠的通道。收款地址涉及资产去向,任何链接形态都不能替代钱包端核对,本文不构成投资建议。
发表评论
还没有评论,来说两句吧。
评论区为展示样式,提交不会被处理。