⚠️ Draft
Standards Track: ERC
ERC-6821: 支持 Web3 URL 的 ENS 名称
ERC-6821: 支持 Web3 URL 的 ENS 名称
从 ENS 名称到 Web3 URL 中合约地址的映射
Authors | Qi Zhou (@qizhou), Qiang Zhu (@qzhodl) |
---|---|
Created | 2023-04-02 |
Discussion Link | https://ethereum-magicians.org/t/eip-6821-support-ens-name-for-web3-url/13654 |
Requires | EIP-137, EIP-634, EIP-3770, EIP-4804 |
摘要
该标准定义了以太坊名称服务(ENS)名称到 ERC-4804 的以太坊地址的映射。
动机
ERC-4804 定义了一个 web3://
方案 RFC 2396 URI,可以通过合约地址或者来自名称服务的名称来调用智能合约。如果指定了名称,则该标准规定了一种从名称解析合约地址的方法。
规范
给定从 ERC-4804 中定义的 web3://
URI 中的 contractName 和 chainid,该协议将使用以下步骤找到合约的地址:
- 在 chainid 链上的 ENS 解析器上查找
contentcontract
文本记录。如果该链没有 ENS 或者该记录是无效的 ETH 地址,则返回错误。 - 如果
contentcontract
文本记录不存在,则该协议将使用来自 ERC-137 的 name 解析地址。 - 如果 name 的解析地址是零地址,则返回“未找到地址”错误。
请注意,contentcontract
文本记录可能会返回一个带有 0x
前缀的十六进制以太坊地址或一个 ERC-3770 链特定的地址。如果该地址是 ERC-3770 链特定的地址,则调用消息所使用的 chainid 将被 ERC-3770 地址指定的 chainid 覆盖。
理由
该标准使用带有 ERC-3770 链特定地址的 contentcontract
文本记录,而不是 contenthash
,以便该记录是人类可读的 - 这是 ERC-4804 的一个设计原则。此外,我们可以使用文本记录来添加诸如生存时间(TTL)之类的附加字段。
安全考虑
未发现任何安全问题。
版权
通过 CC0 放弃版权和相关权利。
Citation
Please cite this document as:
Qi Zhou (@qizhou), Qiang Zhu (@qzhodl), "ERC-6821: 支持 Web3 URL 的 ENS 名称 [DRAFT]," Ethereum Improvement Proposals, no. 6821, April 2023. [Online serial]. Available: https://eips.ethereum.org/EIPS/eip-6821.