Unstoppable 域名收款:核对 USDT 网络、记录键和 NFT 持有人
链小知 · 进阶 · 核验 · 依官方文档整理
对已有 Resolution 响应或只读合约记录,检查域名所有权与实际支付地址,防止把 ERC20/TRON 记录、NFT 注册链和钱包支持混为一层。
开始前准备
- 准备完整域名、接收资产及网络、已有脱敏解析响应;API key 和用户身份字段已遮盖。只持官方样本时,结果应标为演示。
- 先标明原生 Web3 域名还是传统 DNS/NFT twin。后者仍有 DNS 生命周期;本教程核对已有记录,不进行购买、续费或资产转移。
1. 把资产和网络写进目标条件
先确定要核对的是 USDT-ERC20 还是 USDT-TRON:记录键分别是 crypto.USDT.version.ERC20.address 和 crypto.USDT.version.TRON.address。NFT 位于 Polygon 不能据此选择 Polygon 或 TRON 的收款记录,crypto.ETH.address 也不等于所有 EVM 资产的通用许可。
检查结果:目标包含资产、支付网络和唯一记录键。
2. 检查响应产品、来源与缓存
对已有 Resolution API 响应保留端点和获取时间。/owners/{address}/domains 返回 data 数组和 next,并非单一域名对象;按 meta.domain 找目标,next 非空表示还有分页。该 API 缓存链事件,不能将获取时间当该区块状态的时间。认证只记录后台 Bearer 的位置,不把 key 放入排错材料。
检查结果:对象层级、目标域名、分页和获取时间均可追溯。
3. 分别提取注册身份与支付记录
从目标条目列出 meta.blockchain/networkId/registry/resolver/owner/tokenId/namehash;再独立提取 records 中的目标键。meta.owner 是 NFT 持有人,不是系统自动替补的收款人。缺 meta 或记录字段时记缺失,不能把所有人地址填进收款记录来补空。
检查结果:注册链、Registry、owner 与支付地址分别保存。
4. 对合约读取结果按键顺序对齐
如果已有 ProxyReader.getMany(keys,tokenId) 结果,保留原 keys 顺序,逐位置与返回 string[] 配对。tokenId 来自域名 namehash,不是钱包地址或随手编号;不要将大整数先转换为有精度损失的普通数字。不能直接套旧 Goerli 示例和旧固定地址来证明当前生产 Registry。
检查结果:所有返回值能对应具体键与同一域名,读取网络和方法有记录。
5. 处理缺失、无效值和钱包未支持
记录为空时标无该网络收款记录,不回退 crypto.ETH.address 或另一个 USDT 网络键。记录字典不由合约验证,非空仍须按支付网络地址格式核对,并与已有接收说明对照;格式通过不证明账户属于预期人。钱包不能识别完整域名时先核对其集成支持,避免只看后缀或 NFT 图标。
检查结果:无记录、格式错误、身份待核和客户端不支持分开处理。
6. 给出可核对的收款说明和权限边界
输出完整域名、资产/网络、目标键、具体地址、注册链与响应时间。若错误来自配置,先确认当前 owner 或批准 operator 的权限;查询者不会因此获修改权。原生 UNS 不需续费,DNS/NFT twin 仍看续费状态;域名过期问题与错误收款记录是不同原因。
检查结果:说明能让接收方逐项确认,未知权限、时效和到期状态明确保留。
怎样确认完成
- 产出一条含名称、资产、网络、键与地址的核对记录,缺项不作为可用收款配置。
- 文档验证没有执行实际查询或付款,也未确认地址控制权或到账。
常见错误与边界
- 同一个 USDT 符号可对应不同网络;用错网络不会由域名解析自动纠正。
- API key 的权限不等于域名 owner/operator 权限;SDK 文档已注明停止维护。